CloudDBA初體驗:SQL優化建議
數據庫診斷和優化過程具有相當的複雜性,通常需要專業的DBA來解決。但在雲計算的今天,人力運維和支撐已經變得不可能,自動化,智能化運維和服務支持日益迫切。
阿裏雲數據庫團隊在這方麵不斷的探索和積累,產出了CloudDBA。其目的就是要把我們已知問題和最佳實踐能夠以最簡單的方式告訴用戶,把我們多年使用數據庫的經驗傳承給用戶,方便客戶使用雲上數據庫,給客戶帶來直接的價值。CloudDBA同時也在服務著內部業務,4000+的數據庫實例之前需要一個team的運維人員,到現在我們隻有一個同學,運維效率大幅提升。
CloudDBA一期給客戶輸出的功能包含數10項,迫不及待先給大家介紹SQL優化建議功能。
1. SQL優化方法
SQL對技術人員來說再熟悉不過,但開發人員和數據庫人員對其卻有不同的理解。比如開發人員看到的如下SQL語句,
在數據庫中卻是另外一種視圖:
CloudDBA的優化功能就幫助數據庫尋找最佳執行路徑,將其優化成更為簡潔和高效的視圖:
2. SQL優化示例
示例1
SQL條件下推是多數開發人員忽視的問題,詳細介紹及解法說明參見MySQL · 性能優化 · 條件下推到物化表 以及 MySQL · 性能優化 · MySQL常見SQL錯誤用法。
該例子中的SQL在開發人員工作中經常出現:
- 聚合子查詢其實是先定義的一個視圖,之後用的時候再加條件出結果(SQL看起來簡潔^^);
- 條件是拚接出來的,或許還出了bug,匹配符號位置放錯了;
這樣的寫法性能肯定是好不了的。
有了CloudDBA後,這些問題都會直接提示給開發人員:
根據提示,創建索引,重寫SQL性能大幅提升:
示例2
再貼一個複雜點SQL語句。繼續體驗一下CloudDBA的自動化建議:
CloudDBA幫助客戶更輕鬆的運維數據庫,更好的利用到阿裏雲數據庫的性能。我們會不斷努力,致力於阿裏雲數據庫用戶體驗的提升!CloudDBA等待你的加入,實現更多閃耀的功能 。
最後更新:2017-09-27 23:33:04