DBA的五款優秀SQL查詢優化工具
一般來說,SQL查詢優化器分析給定查詢的許多選項,預估每個選項的成本,最后選擇成本最低的選項。如果查詢優化器選擇了錯誤的計劃,則性能差異可能從幾毫秒到幾分鐘。幸運的是,現在有許多第三方SQL查詢優化工具可以自動優化每個SQL查詢。這些工具極大地簡化了開發人員和數據庫管理員的工作,因為他們提供了正確的查詢調優建議和索引建議。現在我們已經知道了SQL查詢優化器的重要性,以下推薦幾款不錯的工具。
1.Solarwinds數據庫性能分析器
Solarwinds的數據庫性能分析器是一種用于監控,分析和調整數據庫和SQL查詢性能的高級工具。其突出的特點包括:

- 實時識別數據庫問題。
- 跟蹤每個活動會話中的每個查詢,并識別導致查詢執行和性能延遲的區域。
- 無論是內部部署,虛擬化還是云端,都可以從單個視圖監控和優化。
- 捕獲響應時間和服務器統計信息的多個指標,并將它們存儲在數據倉庫存儲庫中以供將來分析。
- 在受監控的服務器上不安裝任何軟件或代理,因此在受監控的實例上所放的負載不到1%。
- 通過三到四次點擊,就可以了解根本原因
- 關聯SQL語句,上下文,系統,存儲運行狀況,等待類型和響應時間,以便全面了解查詢的性能。
- 主動監控系統并在問題開始影響用戶之前識別問題。
- 標識SQL塊及其對應的鎖。
- 自動創建可視化報告,通過電子郵件將其發送到指定的地址。
- 通過電子郵件或SNMP主動發出警報。
- 與Orion平臺完美集成。
- 從單個界面提供跨供應商數據庫支持。適用于不同的數據庫,如SQL Server,Oracle,MySQL,MariaDB,AWS Aurora,DB2和ASE等。
2.Redgate SQL Monitor
Redgate SQL Monitor可以主動監控SQL服務器并報告問題。Redgate的一些重要功能包括:

- 使你可以選擇為每個位置安裝一個基本監控器。這意味著,可以在一個界面中獲取所有數據中心的報告,而無需在每個位置安裝單獨的UI。通過這種方式,可以通過單個SQL監控儀表板監控所有位置的性能,因此不會出現安全性損失。
- 一個基礎監控器可以覆蓋200多臺服務器。
- 所有警報都是收件箱中的單個可擴展對象,因此可以將所有必要的信息聚集在一起。此外,它還可以避免使收件箱混亂。
- 在發生死機時發出警報,以便輕松恢復任何丟失的進程并采取措施減少未來的發生。
- 創建高級圖表,使你可以快速瀏覽SQL查詢的狀態。
- 查詢歷史記錄圖有助于查看查詢的影響。這使得最早識別問題變得容易。
- 阻止過程顯示在概述頁面中,以便于閱讀。
- 標識執行部署的工具并在時間軸上顯示相同的工具。
- 可以通過import-export API批量加載詳細信息。
- 識別錯誤的數據庫部署。
3.Idera DB Optimizer
Idera DB Optimizer是一個綜合工具,可以調整性能不佳的SQL代碼,并幫助盡早識別問題及其根本原因。Idera具有以下功能:

- 通過單個通用接口在所有主要RDBMS(如Oracle,Sybase,DB2和SQL Server)上調整SQL代碼。
- 減少培訓需求并簡化企業內不同團隊之間的協作。
- 此工具附帶的向導會自動建議解決方案以改進優化。
- 顏色編碼的索引分析視圖顯示缺少的索引并提供修復相同的建議。
- 其獨特的Visual SQL Tuning圖將基于文本的SQL代碼轉換為圖形SQL圖。這有助于DBA了解SQL查詢對數據庫的影響。
- 提供等待時間分析的圖形表示,以識別較差的數據庫性能。
- 允許跨進程共享信息。
- 負載測試驗證針對數據庫的現有和備用SQL查詢的性能
- 幫助并行運行多個查詢。
- 建議進行適當的SQL重寫。
4.EverSQL
EverSQL是一個在線SQL查詢優化器,它提供了監控SQL查詢性能的最簡單方法。EverSQL具有以下功能:

- 輕松優化SQL查詢
- 簡單易用
- 配有直觀的界面
- 無需下載或安裝。
- 只需上傳或輸入查詢,上傳架構并獲得優化的查詢結果
- 不需要任何數據庫訪問權限。
- 支持MySQL,MariaDB和PerconaDB數據庫。
- 提供最佳索引建議。
5.dbForge Studio
dbForge Studio是一個專為集成開發環境設計的強大工具。它有助于開發,管理,分析和報告SQL查詢和性能。dbForge Studio具有以下功能:

- 以自動代碼完成的形式提供SQL編程輔助,只需幾次擊鍵即可創建SQL語句,SQL格式化可遵循普遍接受的編程標準,T-SQL分析器可通過可配置規則提高代碼質量,SQL代碼段可存儲和重用重復的代碼片段和高級代碼導航。
- 完全控制你的服務器。
- 分析SQL索引的狀態并修復索引碎片問題。
- 允許以可視方式立即重建和重組SQL索引。
- 實現自動化單元測試
- 優化慢查詢
- 每個查詢都會與其成本一起進行分析和顯示。如果你正在執行批量查詢,它也表示為批次總成本的百分比。
- “等待統計信息”選項卡允許你輕松檢測查詢中的瓶頸
- 顯示與每個查詢關聯的等待和事件列表
- PLAN樹提供有關每個查詢(包括位置)執行的信息,以便于優化。
- 顯示最昂貴的操作。
- 提供所有表的輸入輸出統計信息。
- 每次更改查詢后,可幫助查看多個查詢的分析結果。
結論
簡而言之,SQL查詢優化工具可幫助你選擇最少的時間和資源來執行正確查詢,同時提供最佳性能,這些工具是優化SQL查詢的絕佳選擇。不過需要指出的是,這五款工具都是收費工具,都提供免費試用版,只有EverSQL提供長期免費版,但功能有限。