KunlunDB查詢優化(三)排序下推
前言
前面2篇文章我們介紹 KunlunDB的查詢優化原理和 Project和Filter下推演示( KunlunDB 查詢優化(一), KunlunDB查詢優化(二)Project和Filter下推),本節講述排序查詢優化之排序下推。
一、order by下推
一條含有order的SQL的執行計劃在如下生成過程中,Sort被下推到RemoteScan運算元裡面。
Sort下推的操作是非同步方式,指令在各個資料節點並行執行,過濾資料後,將排序後的結果反饋給計算節點,降低了計算節點的負載。
下面我們來測試檢視查詢下推的執行計劃
為支援排序下推,需要在kunlunDB設定如下如下引數為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個資料節點執行,從計算節點拉取符合條件的值到計算節點排序,排序後反饋給客戶端。
二、效能比對
效能比對環境:
複製下方連結登入kunlunDB線上體驗系統:
zettatech.tpddns.cn:8000/ci/index.php/Main/PGList
在SQL框中輸入排序操作的語句,按執行鍵執行。
左邊視窗是KunlunDB社群版本的執行資訊(社群版不支援排序下推操作),右邊視窗是KunlunDB企業版有下推操作的執行資訊。
對比可以發現,order by下推後,執行效率提高了(執行時間由4毫秒下降到3毫秒)
END
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011764/viewspace-2852639/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- KunlunDB 查詢優化(一)優化
- 查詢優化優化
- 效能優化:索引下推優化索引
- pgsql查詢優化之模糊查詢SQL優化
- 第三章 :查詢與排序-------3.6快排在工程實踐中的優化排序優化
- Oracle in 查詢優化Oracle優化
- MySQL查詢優化MySql優化
- join 查詢優化優化
- HBase查詢優化優化
- 查詢優化器優化
- SQL查詢優化SQL優化
- TiDB 查詢優化及調優系列(三)慢查詢診斷監控及排查TiDB優化
- MySQL 的查詢優化MySql優化
- 分頁查詢優化優化
- MySQL 慢查詢優化MySql優化
- MySQL優化COUNT()查詢MySql優化
- 優化sql查詢速度優化SQL
- EntityFramework優化:查詢效能Framework優化
- EntityFramework優化:查詢WITH(NOLOCK)Framework優化
- 優化星型查詢優化
- mysql查詢優化檢查 explainMySql優化AI
- MySQL調優之查詢優化MySql優化
- 資料庫查詢優化:巢狀查詢資料庫優化巢狀
- 查詢與排序02,折半查詢排序
- MySQL-效能優化-索引和查詢優化MySql優化索引
- MySQL——優化巢狀查詢和分頁查詢MySql優化巢狀
- MySQL查詢優化利刃-EXPLAINMySql優化AI
- exists與in子查詢優化優化
- MySQL索引與查詢優化MySql索引優化
- 效能優化之分頁查詢優化
- APP查詢圖片優化APP優化
- MySQL分頁查詢優化MySql優化
- 資料庫查詢優化資料庫優化
- mysql關聯查詢優化MySql優化
- SQL Server 查詢優化功能SQLServer優化
- 全文查詢的效能優化優化
- SQL查詢優化的方法SQL優化
- 效能優化查詢語句優化