すべてのプロダクト
Search
ドキュメントセンター

Lindorm:BUILD INDEX

最終更新日:Feb 24, 2025

LindormTable 2.2.16 以降のバージョンでは、BUILD INDEX 構文を使用して、セカンダリインデックスを個別に構築できます。

適用されるエンジンとバージョン

BUILD INDEX 構文は、バージョンが 2.2.16 より新しい かつ 2.6.3 以前 の LindormTable でのみサポートされています。

説明

BUILD INDEX 構文の使い方は、LindormTable のバージョンによって異なります。

  • 2.2.16 より後で 2.6.3 以前の LindormTable では、非同期インデックス構築タスクを送信した後、BUILD INDEX ステートメントを実行して、セカンダリインデックスを個別に構築する必要があります。

  • 2.6.3 より後の LindormTable では、LindormTable でインデックス作成ルールが最適化されているため、インデックスを非同期で構築するリクエストを開始した後に BUILD INDEX ステートメントを実行する必要はありません。

構文

build_index_statement ::=  BUILD INDEX [ index_identifier ]
                                ON table_identifier

使用上の注意

インデックス構築タスクの数は制限されています。

  • 同時に最大 2 つ のインデックス構築タスクを実行できます。

  • 1 つのテーブルに対して同時に実行できるインデックス構築タスクは 1 つだけです。

結論として、2 つのインデックス構築タスクは、2 つの異なるテーブル で同時に個別に実行できます。

説明

同じテーブルで 2 つ以上のインデックス構築タスクが実行されている場合、最初に開始されたタスクのみが正常に実行され、他のタスクは失敗します。失敗したタスクの INDEX_STATE 値は BUILDING で、失敗したタスクの INDEX_PROGRESS 値は N/A です。BUILD INDEX 構文を使用して別のインデックス構築タスクを手動で開始するには、最初のタスクが完了するまで待つ必要があります。この場合、成功したタスクの INDEX_STATE 値は ACTIVE で、成功したタスクの INDEX_PROGRESS 値は 100% です。

同様に、2 つのインデックス構築タスクが 2 つの異なるテーブルで個別に実行されている場合、2 つのタスクが完了するまで、2 つのタスクより後に開始された他のタスクは失敗します。

インデックス名 (index_identifier)

構築するインデックスの名前です。SHOW INDEX 構文を使用して、テーブルのすべてのインデックスを表示できます。

テーブル名 (table_identifier)

インデックスを構築するテーブルです。

BUILD INDEX idx1 ON test;

結果の確認

SHOW INDEX FROM test; ステートメントを実行して、インデックスが構築されているかどうかを確認できます。