日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
高級SQL優(yōu)化之分組字段順序優(yōu)化

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

創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網(wǎng)定制,網(wǎng)站設(shè)計、成都做網(wǎng)站,塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。

問題定義

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

考慮以下兩個SQL, 二者唯一的不同點是分組字段的順序(第一個SQL是o_custkey, o_orderdate, 第二個SQL是o_orderdate, o_custkey),由于分組字段中不包括grouping set/cube/roll up等高級grouping操作,所以兩個SQL是等價的。但是二者的執(zhí)行計劃及執(zhí)行效率卻不一樣。第二個SQL的執(zhí)行計劃由于避免了對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;

適用條件

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

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

性能驗證

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

  • 重寫優(yōu)化后,無需對分組聚集的結(jié)果進行排序,整體執(zhí)行時間為139.28ms, 性能提升了143.8%,也無需占用額外的內(nèi)存。

PawSQL對此優(yōu)化的支持

  • 自動優(yōu)化:PawSQL針對所有數(shù)據(jù)庫默認開啟此優(yōu)化,以上的SQL可以PawSQL可以自動進行優(yōu)化。

  • 啟用設(shè)置:用戶可以在自己的默認優(yōu)化設(shè)置或是定義每個優(yōu)化任務(wù)的時候自主啟用或禁用該選項。

關(guān)于PawSQL

PawSQL專注數(shù)據(jù)庫性能優(yōu)化的自動化和智能化,支持MySQL,PostgreSQL,openGauss,Oracle等數(shù)據(jù)庫,提供的SQL優(yōu)化產(chǎn)品包括

  • PawSQL Cloud,在線自動化SQL優(yōu)化工具,支持SQL審查,智能查詢重寫、基于代價的索引推薦,適用于數(shù)據(jù)庫管理員及數(shù)據(jù)應(yīng)用開發(fā)人員,
  • PawSQL Advisor,IntelliJ 插件, 適用于數(shù)據(jù)應(yīng)用開發(fā)人員,可以IDEA/DataGrip應(yīng)用市場通過名稱搜索“PawSQL Advisor”安裝。
  • PawSQL Engine, 是PawSQL系列產(chǎn)品的后端優(yōu)化引擎,可以以docker鏡像的方式獨立安裝部署,并通過http/json的接口提供SQL優(yōu)化服務(wù)。

標(biāo)題名稱:高級SQL優(yōu)化之分組字段順序優(yōu)化
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/dhigpij.html