KunlunBase查询优化(三)排序下推

前言

前面2篇文章我们介绍KunlunBase的查询优化原理和Project和Filter下推演示(KunlunBase,KunlunBase),本节讲述排序查询优化之排序下推。

一、order by下推

一条含有order的SQL的执行计划在如下生成过程中,Sort被下推到RemoteScan算子里面。

Sort下推的操作是异步方式,指令在各个数据节点并行执行,过滤数据后,将排序后的结果反馈给计算节点,降低了计算节点的负载。

下面我们来测试查看查询下推的执行计划

为支持排序下推,需要在KunlunBase设置如下如下参数为true:

set enable_remote_orderby_pushdown=true;

  

测试语句:

select c_zip from customer1 order byc_zip;

查看执行计划: 

explain select c_zip fromcustomer1 order by c_zip;

根据上面的执行计划,RemoteScan在传达了远程排序操作到每一个相关的存储节点,存储节点将结果反馈给计算节点再做Merge Append。

如果关闭排序下推的特性,执行计划会发生变化,排序操作将在计算节点执行。

演示如下:

set enable_remote_orderby_pushdown=false;

排序操作将在计算节点执行:

语句的执行过程:语句在计算节点改写后,下发到2个数据节点执行,从计算节点拉取符合条件的值到计算节点排序,排序后反馈给客户端。

二、性能比对

性能比对环境:

复制下方链接登录KunlunBase在线体验系统:

zettatech.tpddns.cn:8000/ci/index.php/Main/PGList

在SQL框中输入排序操作的语句,按执行键执行。

左边窗口是KunlunBase社区版本的执行信息(社区版不支持排序下推操作),右边窗口是KunlunDB企业版有下推操作的执行信息。

对比可以发现,order by下推后,执行效率提高了(执行时间由4毫秒下降到3毫秒)

项目已开源

【GitHub:】
https://github.com/zettadb

【Gitee:】
https://gitee.com/zettadb

原文链接:

排序下推 - Powered by MinDoc (kunlunbase.com)icon-default.png?t=M666http://www.kunlunbase.com:8181/docs/b/b-1dnbmhntrjpeo

推荐阅读:

KunlunBase架构介绍 - Powered by MinDoc (kunlunbase.com)icon-default.png?t=M666http://www.kunlunbase.com:8181/docs/b/b-1dnl0ff08vm42KunlunBase技术优势介绍 - Powered by MinDoc (kunlunbase.com)icon-default.png?t=M666http://www.kunlunbase.com:8181/docs/b/b-1dnl0hidnehicKunlunBase技术特点介绍 - Powered by MinDoc (kunlunbase.com)icon-default.png?t=M666http://www.kunlunbase.com:8181/docs/b/b-1dnl0gmd9l44gKunlun-Storage vs PostgreSQL OLTP 测试 - Powered by MinDoc (kunlunbase.com)icon-default.png?t=M666http://www.kunlunbase.com:8181/docs/b/b-1dq86ad4auj8ePostgreSQL vs MySQL TPC-H 测试 - Powered by MinDoc (kunlunbase.com)icon-default.png?t=M666http://www.kunlunbase.com:8181/docs/b/b-1dp6drao3djef

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>