亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

慢SQL怎么優化

發布時間:2022-01-15 17:23:25 來源:億速云 閱讀:287 作者:iii 欄目:數據庫

本篇內容介紹了“慢SQL怎么優化”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

慢SQL診斷

系統層面:檢查系統服務器運行情況,磁盤 I/O 等;

數據庫層面:

  • 對于MySQL來說,通過慢日志定位慢SQL;

  • 對于慢SQL,查看其執行計劃,分析耗時的原因;

  • 如果缺失索引,根據業務需求,創建合適的索引;如果由于SQL語句的寫法有問題,需要根據業務邏輯優化語句的寫法。

實用的SQL診斷工具:SQLTXPLAIN

是Oracle專家開發的,用于診斷SQL相關的問題的工具,簡單易用卻功能強大。

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

慢SQL優化

由 SQL 編寫導致的慢 SQL 的優化建議:

  • 字段類型轉換導致不用索引,如字符串類型的不用引號,數字類型的用引號等,這有可能會用不到索引導致全表掃描;

  • mysql 不支持函數轉換,所以字段前面不能加函數,否則這將用不到索引;

  • 不要在字段前面加減運算;

  • 字符串比較長的可以考慮索引一部份減少索引文件大小,提高寫入效率;

  • like % 在前面用不到索引;

  • 根據聯合索引的第二個及以后的字段單獨查詢用不到索引;

  • 不要使用 select *;

  • 排序請盡量使用升序 ;

  • or 的查詢盡量用 union 代替 (Innodb);

  • 復合索引高選擇性的字段排在前面;

  • order by / group by 字段包括在索引當中減少排序,效率會更高。

  • 刪除表所有記錄請用 truncate,不要用 delete

  • 不讓 mysql 干多余的事情,如:計算

  • 在 Innodb上用 select count(*),因為 Innodb 會存儲統計信息;

  • 慎用 Oder by rand()。

開源 SQL 優化平臺

對于 SQL 語句的優化,現在有一些開源的SQL優化平臺,這些融入了大量DBA工程師的經驗,我們可以借助這些平臺對 SQL 進行優化。

1. SOAR

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

2. SQLAdvisor

是由美團點評公司技術工程部DBA團隊(北京)開發維護的一個分析SQL給出索引優化建議的工具。它基于MySQL的原生態詞法解析,結合分析SQL中的其中條件,聚合條件,多表加入關系給出索引優化建議。

“慢SQL怎么優化”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

山西省| 江西省| 沿河| 巴东县| 安阳县| 巴彦淖尔市| 信阳市| 灯塔市| 临夏市| 许昌县| 乌苏市| 苍山县| 山阳县| 张家口市| 遂宁市| 茂名市| 金湖县| 项城市| 彩票| 邵阳市| 平乐县| 稻城县| 温宿县| 淳化县| 克拉玛依市| 民勤县| 蓝山县| 东明县| 佳木斯市| 洪泽县| 西盟| 绵竹市| 通辽市| 江达县| 都昌县| 博野县| 兴城市| 廉江市| 郯城县| 威信县| 游戏|