3.4.5 データを格納している表にインデクスを定義する場合
データが大量にある表に対してインデクスを定義する場合,インデクスの実体の作成(CREATE INDEXの実行)に時間が掛かります。その間,ほかの定義系SQLは実行できません。
CREATE INDEXにEMPTYオプションを指定すると,インデクスの実体を作成しないで,定義上のインデクスを作成します。これを未完状態のインデクスといいます。インデクスの実体を作成しないため,CREATE INDEXの実行は即時終了し,ほかの定義系SQLを実行できるようになります。
インデクスの実体が未作成であるため,未完状態のインデクスを使った検索や未完状態のインデクスを定義している表の列の更新はできません(SQLエラーとなります)。インデクスの実体は,データベース再編成ユティリティ(pdrorg)のインデクス再作成機能(-k ixrc)を使用して作成します。インデクスの実体を作成すると,実体を作成したインデクスの未完状態は解除されます。また,PURGE TABLE文で表を全件削除すると,その表のすベてのインデクスの未完状態が解除されます。
EMPTYオプションの運用方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。