成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

高級SQL優化之分組字段順序優化

數據庫 其他數據庫
如果一個查詢中既包含來自同一個表的排序字段也包含分組字段,但字段順序不同,可以通過調整分組字段順序,使其和排序字段順序一致,這樣數據庫可以避免一次排序操作。

注:本文所使用的執行計劃可視化工具為 PawSQL Explain Visualizer , 支持MySQL、PostgreSQL、openGauss等數據庫執行計劃的分析。

問題定義

如果一個查詢中既包含來自同一個表的排序字段也包含分組字段,但字段順序不同,可以通過調整分組字段順序,使其和排序字段順序一致,這樣數據庫可以避免一次排序操作。

考慮以下兩個SQL, 二者唯一的不同點是分組字段的順序(第一個SQL是o_custkey, o_orderdate, 第二個SQL是o_orderdate, o_custkey),由于分組字段中不包括grouping set/cube/roll up等高級grouping操作,所以兩個SQL是等價的。但是二者的執行計劃及執行效率卻不一樣。第二個SQL的執行計劃由于避免了對o_orderdate的一次排序操作,性能比第一個SQL要好,因此可以考慮將第一個SQL重寫為第二個SQL。

select o_custkey, o_orderdate, sum(O_TOTALPRICE)
from orders
group by o_custkey,o_orderdate
order by o_orderdate;

重寫為:

select o_custkey, o_orderdate, sum(o_totalprice)
from orders
group by o_orderdate,o_custkey
order by o_orderdate;

適用條件

分組字段重排序優化是針對查詢塊(Queryblock)來進行的,多個查詢塊可以獨立進行此優化。分組字段重排序優化的適用條件如下:

  • 在一個查詢塊中存在2個及2個以上分組字段。
  • 在一個查詢塊中存在排序字段。
  • 分組及排序排序字段來自同一個數據表。
  • 分組排序字段無函數或計算。
  • 排序字段是分組字段的真子集。
  • 排序字段不是分組字段的前綴。

性能驗證

  • 化前,在完成分組聚集運算后,還需要進行額外的排序操作,整體執行時間為339.64ms,其中排序所占用的時間為58.1ms。

圖片

  • 重寫優化后,無需對分組聚集的結果進行排序,整體執行時間為139.28ms, 性能提升了143.8%,也無需占用額外的內存。

圖片

PawSQL對此優化的支持

  • 自動優化:PawSQL針對所有數據庫默認開啟此優化,以上的SQL可以PawSQL可以自動進行優化。

圖片

  • 啟用設置:用戶可以在自己的默認優化設置或是定義每個優化任務的時候自主啟用或禁用該選項。

圖片

關于PawSQL

PawSQL專注數據庫性能優化的自動化和智能化,支持MySQL,PostgreSQL,openGauss,Oracle等數據庫,提供的SQL優化產品包括

  • PawSQL Cloud,在線自動化SQL優化工具,支持SQL審查,智能查詢重寫、基于代價的索引推薦,適用于數據庫管理員及數據應用開發人員,
  • PawSQL Advisor,IntelliJ 插件, 適用于數據應用開發人員,可以IDEA/DataGrip應用市場通過名稱搜索“PawSQL Advisor”安裝。
  • PawSQL Engine, 是PawSQL系列產品的后端優化引擎,可以以docker鏡像的方式獨立安裝部署,并通過http/json的接口提供SQL優化服務。
責任編輯:姜華 來源: PawSQL
相關推薦

2023-10-16 07:49:25

PawSQL數據庫

2023-10-09 07:42:49

PawSQL數據庫管理

2023-11-28 07:54:18

2023-11-07 07:50:55

LIMIT子句下推優化

2023-10-23 09:19:47

PawSQL數據庫

2016-12-08 15:47:54

sql優化數據

2018-01-09 16:56:32

數據庫OracleSQL優化

2021-07-16 23:01:03

SQL索引性能

2011-03-31 11:14:51

Sql語句優化

2016-12-14 19:04:16

Spark SQL優化

2010-07-15 16:42:32

數據庫引擎

2021-07-26 18:23:23

SQL策略優化

2019-03-27 14:11:20

工具性能數據

2018-03-30 14:30:10

數據庫SQL語句性能優化

2022-03-10 11:25:51

InnoDB優化

2022-07-14 14:46:51

數據庫SQL系統設計

2011-09-16 13:15:38

SQL Server優化

2009-06-18 11:12:42

Hibernate S優化

2021-12-27 09:52:43

數據庫優化SQL

2018-03-30 13:59:22

數據庫SQL語句性能優化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: a级在线免费 | av免费观看网站 | 精品九九久久 | 在线免费观看成人 | 国产精品久久久久久久久图文区 | 久久男人 | 91精品久久久久久久久中文字幕 | 亚洲国产中文在线 | 中文字幕av网 | 国产精品日日做人人爱 | 国产精品视频二区三区 | 99精品欧美一区二区蜜桃免费 | 日韩一区二区福利 | 欧美成人一区二区三区片免费 | 看羞羞视频 | 午夜精品久久久久久久久久久久久 | 国产一级片在线播放 | 国产精品一区视频 | 黄色大片免费播放 | 精品欧美乱码久久久久久1区2区 | 久久久无码精品亚洲日韩按摩 | 欧美一级黄色免费看 | 欧美三级网站 | 国产精品海角社区在线观看 | 精品一区二区三区入口 | 欧美日韩亚洲国产综合 | 国产精品国产成人国产三级 | 日韩一二区| 久久精品亚洲精品国产欧美 | 久久婷婷av| av黄色在线 | 亚洲天天 | 成人av一区二区三区 | 国产精品无码专区在线观看 | 免费人成在线观看网站 | 久久久高清 | 久久亚洲欧美日韩精品专区 | 日韩av电影在线观看 | 久久ww| 国产精品18久久久久久白浆动漫 | 久久手机在线视频 |