CREATE INDEX#

CREATE INDEX 语句用来创建索引。 如果表里有数据,添加索引会发起异步任务来加载数据。 通过ns_client中的showopstatus命令可以查看任务状态,详见运维 CLI

语法#

CreateIndexstmt ::=
    'CREATE' 'INDEX' IndexName ON TableName IndexColumn OptOptionsList

IndexName ::= Identifier

TableName ::=
    Identifier ('.' Identifier)?


IndexColumn ::=
    IndexColumnPrefix ")"

IndexColumnPrefix ::=
    "(" ColumnExpression
    | IndexColumnPrefix "," ColumnExpression

ColumnExpression ::=
    Identifier
     
OptOptionsList ::=
    "OPTIONS" OptionList

OptionList ::=
    OptionsListPrefix ")"

OptionsListPrefix ::=
    "(" OptionEntry
    | OptionsListPrefix "," OptionEntry

OptionEntry ::=
    Identifier "=" Identifier

示例#

CREATE INDEX index2 ON t5 (col2);
-- SUCCEED

Note

如果不指定Options, 创建的索引就没有指定TS列,因此不能用在需要上线的SQL中。

我们可以通过类似如下命令在创建索引时指定TS列:

CREATE INDEX index3 ON t5 (col3) OPTIONS (ts=ts1, ttl_type=absolute, ttl=30d);
-- SUCCEED

关于TTLTTL_TYPE的更多信息参考这里

相关SQL#

DROP INDEX