HINT 关键字

关键字

flag

使用场景

含义

例子

[HINT_LOCAL]

[1]

分布式集群环境下,仅获取当前服务器的数据的计算结果。

添加该关键字后,仅获取在本地所有节点数据的查询结果。

select [HINT_LOCAL] sum(*) from pt

[HINT_HASH]

[32]

搭配 group by 语句使用。

group by 分组默认优先采用哈希算法。

select [HINT_HASH] count(*) from t group by sym

[HINT_SNAPSHOT]

[64]

使用 registerSnapshotEngine 注册快照引擎后,查询时需指定该关键字。

从分布式表的快照引擎中查询数据。

select [HINT_SNAPSHOT] * from loadTable(dbName,tableName)

[HINT_KEEPORDER]

[128]

搭配 context by 关键字使用。

添加该关键字后,context by 分组后计算的输出结果顺序将和输入保持一致。

select [HINT_KEEPORDER] cumsu(vol) from t context by date, sym

[HINT_SEQ]

[512]

内存资源紧缺时,添加该关键字使分区查询串行执行,节约并发的资源开销。

添加该关键字后,SQL 语句将在分区间串行执行。

timer select [HINT_SEQ] avg(vol) from t

[HINT_NOMERGE]

[1024]

对于无需返回查询结果的中间步骤,可以通过省略查询的合并步骤,提升计算性能。

添加该关键字后,map 的查询结果不再汇总成一张内存表返回给客户端,而是直接返回分区表的句柄。

select [HINT_NOMERGE] price from pt context by ticker

[HINT_EXPLAIN]

[32768]

用于 SQL 查询性能调优,详见 [HINT_EXPLAIN]。

添加该关键字后,系统将打印 SQL 语句的执行过程,便于 SQL 查询中实时监测查询的速度和执行的顺序。

select [HINT_EXPLAIN] * from tb where id > 20

[HINT_SORT]

[524288]

搭配 group by 语句使用。

添加该关键字后,group by 分组时将采用排序算法进行。

select [HINT_SORT] avg(price) from trades group by sym

[HINT_VECTORIZED]

[4194304]

搭配 group by 语句使用。

添加该关键字后,group by 分组时将采用向量化运算(vectorization)。

select [HINT_VECTORIZED] sum(price) from trades group by sym