次要索引
CQL 支援在表格上建立次要索引,允許對表格的查詢使用這些索引。次要索引由
index_name::= re('[a-zA-Z_0-9]+')
CREATE INDEX
識別CREATE INDEX
陳述式用於為給定表格中給定的 (現有) 欄位建立新的次要索引。如果需要,可以在 ON
關鍵字之前指定索引本身的名稱。
create_index_statement::= CREATE [ CUSTOM ] INDEX [ IF NOT EXISTS ] [ index_name ]
ON table_name '(' index_identifier ')'
[ USING index_type [ WITH OPTIONS = map_literal ] ]
index_identifier::= column_name
| ( KEYS | VALUES | ENTRIES | FULL ) '(' column_name ')'
index_type::= 'sai' | 'legacy_local_table' | fully_qualified_class_name
如果欄位中已存在資料,它將會非同步地建立索引。建立索引後,欄位的最新資料會在插入時自動建立索引。嘗試建立已存在的索引會傳回錯誤,除非使用 IF NOT EXISTS
選項。如果使用,如果索引已存在,陳述式將不會執行任何操作。
範例:
CREATE INDEX userIndex ON NerdMovies (user);
CREATE INDEX ON Mutants (abilityId);
CREATE INDEX ON users (KEYS(favs));
CREATE INDEX ON users (age) USING 'sai';
CREATE CUSTOM INDEX ON users (email)
USING 'path.to.the.IndexClass';
CREATE CUSTOM INDEX ON users (email)
USING 'path.to.the.IndexClass'
WITH OPTIONS = {'storage': '/mnt/ssd/indexes/'};