偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

慢SQL診斷優(yōu)化套路包,套路用的對,速度升百倍

數(shù)據(jù)庫 SQL Server
面對慢SQL,一些DBA會心煩,會沮喪,會束手無措,也會沉著冷靜、斗智斗勇!當(dāng)中的關(guān)鍵在于數(shù)據(jù)庫管理員如何分析得出SQL語句的執(zhí)行計(jì)劃和如何從SQL語句的執(zhí)行計(jì)劃中發(fā)現(xiàn)問題。

在DBA的日常工作中,調(diào)整個別性能較差的SQL語句是一項(xiàng)富有挑戰(zhàn)性的工作。面對慢SQL,一些DBA會心煩,會沮喪,會束手無措,也會沉著冷靜、斗智斗勇!當(dāng)中的關(guān)鍵在于數(shù)據(jù)庫管理員如何分析得出SQL語句的執(zhí)行計(jì)劃和如何從SQL語句的執(zhí)行計(jì)劃中發(fā)現(xiàn)問題。

[[267985]]

下面老王就慢SQL的診斷和優(yōu)化分享一些常用的套路~

慢SQL診斷

系統(tǒng)層面:檢查系統(tǒng)服務(wù)器運(yùn)行情況,磁盤 I/O 等;

數(shù)據(jù)庫層面:

  • 對于MySQL來說,通過慢日志定位慢SQL;
  • 對于慢SQL,查看其執(zhí)行計(jì)劃,分析耗時的原因;
  • 如果缺失索引,根據(jù)業(yè)務(wù)需求,創(chuàng)建合適的索引;如果由于SQL語句的寫法有問題,需要根據(jù)業(yè)務(wù)邏輯優(yōu)化語句的寫法。

實(shí)用的SQL診斷工具:SQLTXPLAIN

是Oracle專家開發(fā)的,用于診斷SQL相關(guān)的問題的工具,簡單易用卻功能強(qiáng)大。

對于慢SQL診斷支持很多Optimzer問題:如執(zhí)行計(jì)劃異常、SQL慢、結(jié)果不正(Wrong Result)等。

慢SQL優(yōu)化

由 SQL 編寫導(dǎo)致的慢 SQL 的優(yōu)化建議:

  • 字段類型轉(zhuǎn)換導(dǎo)致不用索引,如字符串類型的不用引號,數(shù)字類型的用引號等,這有可能會用不到索引導(dǎo)致全表掃描;
  • mysql 不支持函數(shù)轉(zhuǎn)換,所以字段前面不能加函數(shù),否則這將用不到索引;
  • 不要在字段前面加減運(yùn)算;
  • 字符串比較長的可以考慮索引一部份減少索引文件大小,提高寫入效率;
  • like % 在前面用不到索引;
  • 根據(jù)聯(lián)合索引的第二個及以后的字段單獨(dú)查詢用不到索引;
  • 不要使用 select *;
  • 排序請盡量使用升序 ;
  • or 的查詢盡量用 union 代替 (Innodb);
  • 復(fù)合索引高選擇性的字段排在前面;
  • order by / group by 字段包括在索引當(dāng)中減少排序,效率會更高。
  • 刪除表所有記錄請用 truncate,不要用 delete
  • 不讓 mysql 干多余的事情,如:計(jì)算
  • 在 Innodb上用 select count(*),因?yàn)?Innodb 會存儲統(tǒng)計(jì)信息;
  • 慎用 Oder by rand()。

開源 SQL 優(yōu)化平臺

對于 SQL 語句的優(yōu)化,現(xiàn)在有一些開源的SQL優(yōu)化平臺,這些融入了大量DBA工程師的經(jīng)驗(yàn),我們可以借助這些平臺對 SQL 進(jìn)行優(yōu)化。

1. SOAR

地址:https://github.com/XiaoMi/soar/

是一款 SQL 智能優(yōu)化與改寫工具,由小米運(yùn)維 DBA 團(tuán)隊(duì)出品,SOAR 主要由語法解析器、集成環(huán)境、優(yōu)化建議、重寫邏輯、工具集五大模塊組成,相比業(yè)內(nèi)其他優(yōu)秀產(chǎn)品有自己的優(yōu)勢,不僅能幫助你 rewrite SQL并且能給出一些優(yōu)化的建議。

2. SQLAdvisor

地址:https://github.com/Meituan-Dianping/SQLAdvisor

是由美團(tuán)點(diǎn)評公司技術(shù)工程部DBA團(tuán)隊(duì)(北京)開發(fā)維護(hù)的一個分析SQL給出索引優(yōu)化建議的工具。它基于MySQL的原生態(tài)詞法解析,結(jié)合分析SQL中的其中條件,聚合條件,多表加入關(guān)系給出索引優(yōu)化建議。

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2012-11-21 17:35:21

Oracle技術(shù)嘉年華

2014-11-11 15:57:07

2021-12-29 10:26:58

芯片半導(dǎo)體技術(shù)

2022-05-26 08:12:39

PandasApply技巧

2011-04-02 16:45:58

SQL Server查詢優(yōu)化

2023-04-14 07:09:04

2018-08-24 13:55:05

2016-09-18 15:38:10

CMDB配置

2016-10-28 21:47:44

開發(fā)經(jīng)驗(yàn)Android

2018-05-23 10:04:24

MySQL查詢優(yōu)化

2020-12-22 10:10:10

算法代碼技術(shù)

2017-08-14 16:12:56

面試套路原則

2018-02-08 14:57:22

對象內(nèi)存分配

2016-03-04 14:40:35

華為

2019-03-18 10:02:16

緩存更新數(shù)據(jù)

2016-12-20 14:20:05

Android網(wǎng)絡(luò)框架

2010-06-29 09:56:00

SQL Server查

2015-09-24 10:18:54

程序員身價(jià)

2015-03-12 10:21:05

阿里云宕機(jī)

2019-02-14 09:04:55

阿里開源Blink
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號