全部產品
Search
文件中心

Lindorm:BUILD INDEX

更新時間:Jul 06, 2024

Lindorm 2.2.16版本後,通過BUILD INDEX語句可以單獨構建二級索引。

引擎與版本

BUILD INDEX文法僅適用於版本在2.2.16之後2.6.3及之前的寬表引擎。

說明

關於寬表引擎對BUILD INDEX文法的版本限制說明如下:

  • 版本為2.2.16之後、2.6.3及之前:在提交非同步構建索引後,必須執行BUILD INDEX來單獨構建二級索引。

  • 2.6.3以上版本:寬表引擎最佳化了內部索引構建規則,提交非同步構建索引任務後,您無需再執行BUILD INDEX操作。

文法

build_index_statement ::=  BUILD INDEX [ index_identifier ]
                                ON table_identifier

使用說明

寬表引擎對構建索引任務的數量有限制,具體如下:

  • 寬表引擎允許的最大並發任務數為2

  • 一張表同一時間最多隻能執行一個構建任務。

即在同一時間,寬表引擎僅允許兩張不同的表各存在一個索引構建任務。

說明

如果一張表同時存在兩個及以上的構建任務,則在第一個構建任務完成之前,其他的構建任務都會失敗(即INDEX_STATE狀態顯示BUILDINGINDEX_PROGRESS狀態顯示N/A)。此時必須在第一個任務構建完成(即INDEX_STATE顯示ACTIVEINDEX_PROGRESS顯示100%)後,再次使用BUILD INDEX語句手動觸發其他構建任務。

同理,如果已有兩張表各存在一個構建任務,那麼在這兩個任務完成之前,後續提交的構建任務都會失敗。

索引名(index_identifier

需要構建的索引名稱。您可以通過SHOW INDEX語句查看錶中的所有索引。

表名(table_identifier

目標索引所屬的寬表。

樣本

BUILD INDEX idx1 ON test;

結果驗證

您可以執行SHOW INDEX FROM test;查看索引是否已構建完成。