说明
使用 first_rows 优化需要通过 hint 方式启用,并将 first_rows 关键字下发到 Data节点执行。first_rows 优化可以促使 Data 节点在完成指定行数的结果集物化后,立刻发送给客户端并在客户端输出。
注意事项
1. 登录集群时使用-c 和-q 参数
- -c 参数,让 hint(也就是/*+ … */)不会被客户端直接忽略,从而发送到 server 端。
- -q 参数,在客户端立即显示查询结果集。
2.对于单表查询时,如果使用了 limit 关键字则要求 limit 不能包含offset。
3.查询语句中不能包含 GROUP BY、ORDER BY、OLAP 函数,不支持 UNION,但支持 UNION ALL。
语法格式
SEELCT /*+ first_rows(n) */ columns FROM [vc_name.][database_name.]table_name LIMIT n;
参数说明
参数名称 | 参数说明 |
---|---|
vc_name | VC名称,可选项 |
database_name | 数据库名,可选项 |
table_name | 表名 |
n | 表示每次最小的返回结果集的请求。 |
示例
gbase> SELECT /*+ first_rows(5) */ t1.a FROM t1 LIMIT 10;
+------+ | a | +------+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | +------+ 10 rows in set