GBase 8a
性能调优
文章

GBase 8a -LIMIT…OFFSET 性能优化

发表于2024-02-26 17:22:57259次浏览0个评论

当集群遇到简单查询且带有 LIMIT,或“LIMIT...OFFSET”时,会按优化步骤执行,不产生汇总表。

注:简单查询的定义包含如下 SQL 语句场景:

  • 查询为单表查询且没有子查询;

  • 查询没有 DISTINCT、聚合函数或 OLAP 函数;

  • 查询没有 GROUP BY, ORDER BY 子句;

  • 非 SELECT INTO OUTFILE 查询。 

使用优化方法

优化的策略为查询结果为了定位出 LIMIT 后面的位置,首先在每个 data 节点进行满足条件的记录数的 COUNT(*)评估,取得每个 node 的满足条件的记录数,之后根据各 data 节点满足条件的记录数信息进一步组织 SQL,将查询语句精准发送到指定节点执行。
示例

SELECT * FROM t WHERE a > 0 LIMIT 1 OFFSET 2;

评论

登录后才可以发表评论