sql自動化優化工具


智能SQL優化工具--SQL Optimizer for SQL Server(幫助提升數據庫應用程序性能,最大程度地自動優化你的SQL語句 )

  • SQL重寫(SQL Rewrite 

大家都知道,同一條SQL語句,不同的寫法性能可能不一樣。這個模塊采用了獨特的人工智能算法(反饋式搜索:如下圖所示)進行自動重寫SQL語句。就算沒有掌握深入的T-SQL知識,通過這 個模塊也可以改寫SQL文本找出性能更優的寫法,最終達到優化SQL性能的目的。也就是說,利用這個工具任何人都可以寫出專家級的SQL語句。

下面載圖顯示“反饋式搜索重寫引擎”強大的重寫能力,其友好的界面和豐富的測試運行方法可以方便地比較和找出與原始SQL等階的性能高效寫法。

在智能等級設置為3時,一共為這條SQL語句找出了231條具有不同執行計划的等階SQL的寫法。就算一個經驗豐富資深DBA並且對T-SQL語法了如指常,也不可能在短時間內去嘗試這么多種可能!

 測試運行所有重寫的SQL語句,找出Alt122是運行時間最快的SQL語句。

 用Compare面頁可以進行比較不同的可選SQL重寫(下圖顯示運行時間最快的Alt122是被改寫成了INNER JOIN並且加了TABLE HINT):

  

  • 計划控制(Plan Control

計划控制模塊同樣也是采用了人工智能算法為你的SQL語句產生計划指南(Plan Guide)解決方案。通過計划指南技術,可以實現不需要修改源代碼進行優化SQL語句。 如果SQL語句中包括了字面常量,將會提供一些參數化與SQL計划指南組合的解決方案。SQL Server 2005就提供了計划指南技術,要用好這個技術進行SQL調優可不是一件容易的事,SQL Server2005的后續版本對此也沒有做很多的改進。Plan Control 通過嘗試不同的查詢提示組合產生計划指南,設定優化目的進行測試運行為你的SQL語句找出最佳的計划指南。部署找出的最佳計划指南就可以提升SQL語句的性能。這很大程度上簡化的計划指南的應用。

  

  • 優化索引(Optimize Indexes

針對一條SQL語句建立索引,通常不是一件難事。如果為了提高某一條SQL語句的性能盲目地創建一些索引,很有可能會給其它SQL語句帶來性能下降的影響,嚴重的話會導致整個系統性能的下降。Optimize Indexes模塊采用遺傳算法對一批SQL語句進行綜合評估產生建立索引建議的腳本,通過這個腳本建立相應的索引達到提高整個系統的性能。如果想進一步 了解這個模塊,可以閱讀SQL優化大師Richard To博客的相關文章:A Revolutionary Index Advisor。

  

  • 查找SQLFind SQL

利用Find SQL模塊可以方便快速地從不同的地方找出可以調優或者存在優化空間的SQL語句,如:計划緩存(Plan Cache)和SQL跟蹤(SQL Traces) 。通過Top N的方式查看不同運行時統計信息(如:CPU時間和邏輯讀等等)識別出消耗資料最多的SQL語句。一旦找出需要調優的SQL語句,根據這些SQL語句的使用場景可以發送到SQL重寫(SQL Rewrite)、計划控制(Plan Control)和優化索引(Optimize Indexes)模塊進行優化。

  

  • 掃描SQLScan SQL

這個模塊可以從文件(源代碼文件、二進制文件及SQL跟蹤文件等等)或數據庫對象(存儲過程、觸發器等等)中掃描出SQL語句。通過分析執行計划對這些掃描出來的SQL語句逐一分類。優先檢查被定義為“有問題的(Problematic)”和“復雜的(Complex)”分類,進一步查看SQL語句文本及其執行計划。將SQL文本發送至SQL 重寫、計划控制或優化索引模塊進行自動優化找出更好的方案(SQL重寫、計划指南、索引建議)。

最新版本下載地址:https://support.software.dell.com/sql-optimizer-for-sql-server/download-new-releases


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM