说明
使用 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
本文介绍如何使用first_rows优化查询性能,通过hint方式启动并使Data节点提前返回结果集给客户端。适用于特定类型的查询语句,例如不含GROUP BY或ORDER BY等复杂操作的单表查询。

460

被折叠的 条评论
为什么被折叠?



