成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

案例分享:Gbase慢sql優(yōu)化案例

IT那活兒 / 3378人閱讀
案例分享:Gbase慢sql優(yōu)化案例

點(diǎn)擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。。?/strong>


慢SQL

此處的sql是相同類型的測試sql,方便大家閱讀。首先把sql拿到生產(chǎn)測試發(fā)現(xiàn)確認(rèn)要很長時(shí)間,跑了幾分鐘根本跑不出來。

Sql: select
a.u_id,
b.b_id,
c.c_id,
from a.a a
left join b.b b on a.u id=b.u_id
left join c.c c on b.c_id=c.c_id
limit 100000;


慢SQL優(yōu)化

1. 嘗試去除一個(gè)left join條件
等了一會(huì)跑出來了。
耗時(shí)1分50秒。
2. 再看表數(shù)據(jù)量
  • a表 四萬條記錄
  • b表將近八千萬條記錄
查詢方式也符合查詢邏輯,大小表關(guān)聯(lián)查詢一般用小表驅(qū)動(dòng)大表。
3. 嘗試用in 
 有一定的提升,但是根據(jù)業(yè)務(wù)邏輯需要用到b表中很多的字段,而in后面的字段,只能有一個(gè) 。

4. 改變思路看表的分布方式

  • 復(fù)制表:isReplicate=YEShash
  • 分布表:hash_column= col_name,分布鍵是col_name
  • 隨機(jī)分布表:isReplicate=NO,hash_column=null
可以看到小表a是隨機(jī)分布表。大表b是哈希分布表。
再看執(zhí)行計(jì)劃:

顯示界面主要組成部分:

  • ID:SQL執(zhí)行步驟,順序從下向上;
  • MOTION:某個(gè)步驟的結(jié)果處理方式;
  • OPERATION:某個(gè)步驟內(nèi)的具體執(zhí)行操作;
  • TABLE:某個(gè)operation涉及的表;
  • CONDITION:某個(gè)operation操作涉及的條件。
可以看到Motion列有個(gè)BROADCAST步驟。
因?yàn)樾”硎请S機(jī)分布,即使大表是哈希分布也無法走分布鍵,所以小表拉了復(fù)制表。這個(gè)筆者理解應(yīng)該是類似重廣播,就是每一個(gè)節(jié)點(diǎn)都會(huì)有一份復(fù)制表。
5. 測試如果小表加上分布鍵會(huì)不會(huì)提升查詢速度
因?yàn)镚base無法在表建成后加分布鍵 所以新建一張測試表。
需要注意括號內(nèi)的字段加單引號再將數(shù)據(jù)導(dǎo)入。
測試:
結(jié)果是毫秒級,如果不加分布鍵則需要1分50秒。
再看執(zhí)行計(jì)劃:
沒有了BROADCAST這個(gè)步驟。于是將結(jié)果與建議反饋業(yè)務(wù)側(cè)。


本文作者:徐 瑞(上海新炬王翦團(tuán)隊(duì))

本文來源:“IT那活兒”公眾號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129168.html

相關(guān)文章

  • 2021年9月國產(chǎn)數(shù)據(jù)庫大事記

    .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body...

    suemi 評論0 收藏0
  • 數(shù)據(jù)庫收集 - 收藏集 - 掘金

    摘要:前言在使用加載數(shù)據(jù)數(shù)據(jù)庫常見的優(yōu)化操作后端掘金一索引將放第一位,不用說,這種優(yōu)化方式我們一直都在悄悄使用,那便是主鍵索引。 Redis 內(nèi)存壓縮實(shí)戰(zhàn) - 后端 - 掘金在討論Redis內(nèi)存壓縮的時(shí)候,我們需要了解一下幾個(gè)Redis的相關(guān)知識。 壓縮列表 ziplist Redis的ziplist是用一段連續(xù)的內(nèi)存來存儲(chǔ)列表數(shù)據(jù)的一個(gè)數(shù)據(jù)結(jié)構(gòu),它的結(jié)構(gòu)示例如下圖 zlbytes: 記錄整...

    Little_XM 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<