天天看點

CloudDBA初體驗:SQL優化建議

資料庫診斷和優化過程具有相當的複雜性,通常需要專業的DBA來解決。但在雲計算的今天,人力運維和支撐已經變得不可能,自動化,智能化運維和服務支援日益迫切。

阿裡雲資料庫團隊在這方面不斷的探索和積累,産出了CloudDBA。其目的就是要把我們已知問題和最佳實踐能夠以最簡單的方式告訴使用者,把我們多年使用資料庫的經驗傳承給使用者,友善客戶使用雲上資料庫,給客戶帶來直接的價值。CloudDBA同時也在服務着内部業務,4000+的資料庫執行個體之前需要一個team的運維人員,到現在我們隻有一個同學,運維效率大幅提升。

CloudDBA一期給客戶輸出的功能包含數10項,迫不及待先給大家介紹SQL優化建議功能。

SQL對技術人員來說再熟悉不過,但開發人員和資料庫人員對其卻有不同的了解。比如開發人員看到的如下SQL語句,

CloudDBA初體驗:SQL優化建議

在資料庫中卻是另外一種視圖:

CloudDBA初體驗:SQL優化建議

CloudDBA的優化功能就幫助資料庫尋找最佳執行路徑,将其優化成更為簡潔和高效的視圖:

CloudDBA初體驗:SQL優化建議

該例子中的SQL在開發人員工作中經常出現:

聚合子查詢其實是先定義的一個視圖,之後用的時候再加條件出結果(SQL看起來簡潔^^);

條件是拼接出來的,或許還出了bug,比對符号位置放錯了;

這樣的寫法性能肯定是好不了的。

CloudDBA初體驗:SQL優化建議

有了CloudDBA後,開發人員會得到直接的提示:

CloudDBA初體驗:SQL優化建議

根據提示,建立索引,重寫SQL性能大幅提升:

CloudDBA初體驗:SQL優化建議

再貼一個複雜點SQL語句。繼續體驗一下CloudDBA的自動化建議:

CloudDBA初體驗:SQL優化建議

CloudDBA是資料庫自動化運維的一個分水嶺。我們會不斷努力,緻力于阿裡雲資料庫使用者體驗的提升!CloudDBA等待你的加入,實作更多閃耀的功能 。