Oracleビットマップインデックスのフィールドを変更する方法
Oracle のビットマップインデックスの列を変更するには、次の手順を実行します。
- 修正するビットマップインデックスの所属テーブルとカラム名を指定してください。
- まず、次の文でビットマップ索引を無効にします:
- ALTER INDEX index_name UNUSABLE;
- なお、index_name は変更するビットマップ索引の名前です。
- 次に、次のステートメントを使用してビットマップ インデックスを削除します。
- インデックス index_name を削除します
- 次に、ALTER TABLE ステートメントを使用してテーブルのフィールド名またはタイプを変更する。たとえば、
- ALTER TABLE テーブル名 MODIFY カラム名 新しいデータ型;
- この場合、「table_name」は変更するテーブル名、「column_name」は変更するフィールド名、「new_data_type」は新しいデータ型です。
- 最後に、CREATE INDEXステートメントを使ってビットマップインデックスを再作成し、それらの使用を有効にする:
- CREATE INDEX index_name ON table_name(column_name) BITMAP;
ALTER INDEX index_name REBUILD; - インデックス名、テーブル名、およびカラム名は、各名前を表すものです。
ビットマップインデックスのフィールドを変更する場合は、インデックスを無効にしてから削除し、テーブルのフィールドを変更して、最後にインデックスを再作成して有効化する必要があります。また、フィールドの変更によってインデックスのパフォーマンスや空間利用などに変化が生じる可能性があり、状況に応じて評価や最適化が必要になります。