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
狀態顯示BUILDING
,INDEX_PROGRESS
狀態顯示N/A
)。此時必須在第一個任務構建完成(即INDEX_STATE
顯示ACTIVE
,INDEX_PROGRESS
顯示100%
)后,再次使用BUILD INDEX
語句手動觸發其他構建任務。
同理,如果已有兩張表各存在一個構建任務,那么在這兩個任務完成之前,后續提交的構建任務都會失敗。
索引名(index_identifier)
需要構建的索引名稱。您可以通過SHOW INDEX
語句查看表中的所有索引。
表名(table_identifier)
目標索引所屬的寬表。
示例
BUILD INDEX idx1 ON test;
結果驗證
您可以執行SHOW INDEX FROM test;
查看索引是否已構建完成。
文檔內容是否對您有幫助?