萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> 數據庫綜合 >> 人工智能自動sql優化工具介紹

人工智能自動sql優化工具介紹

SQL語句是對數據庫進行操作的惟一途徑,對數據庫系統的性能起著決定性的作用。對於同一條件下的SQL語句寫法有很多,其中一些寫法往往對性能又有很大影響。本文介紹了人工智能自動sql優化工具,供大家參考。

針對這種情況,人工智能自動SQL優化工具應運而生。現在我就向大家介紹這樣一款工具:SQLTuning for SQL Server。

1. SQL Tuning 簡介

SQL Turning是Quest公司出品的Quest Central軟件中的一個工具。

QuestCentral(圖1)是一款集成化、圖形化、跨平台的數據庫管理解決方案,可以同時管理Oracle、DB2 和 SQL server 數據庫。它包含了如下的多個工具:

數據庫管理(DBA)

數據庫監控(Monitoring Pack)

數據庫診斷 (Spotlight Diagnostics)

數據庫分析 (Database Analysis)

SQL優化 (SQL Tuning)

空間管理 (Space Management)

壓力測試 (Load Generator)

數據生成 (Data Generator)

PL/SQL 開發 (TOAD)

專家建議 (Knowledge Expert)

今天,我們只介紹其中的SQL優化(SQL Tuning for SQL Server) 的使用方法。

人工智能自動sql優化工具

圖1 quest central界面

2. 使用SQL Tuning 優化SQL

下面我們用SQLServer自帶的Northwind數據庫為例,幫助大家了解如何使用SQLTuning優化SQL。

(1)建立連接。

在QuestCentral主界面上的“Database”樹上選擇“SQLServer”,然後在下方出現的“Tools”框中選擇“SQLTuning”選項,打開“Lanch SQL Tuning for SQL ServerConnections”對話框(圖2)。我們在這裡建立數據庫服務器的連接,以後的分析工作都會在它上面完成。

人工智能自動sql優化工具

圖2 “建立連接”對話框

雙擊“NewConnection”圖標,在彈出窗口中輸入數據庫的信息,單擊“OK”,然後單擊“Connect”即可。

(2)分析原始SQL語句 。

在打開窗口的“OriangalSQL”文本框內輸入需要分析的原始SQL語句,代碼如下:

/*查詢賣出價個不同的同一貨物名稱*/

select DISTINCT c.CompanyName,p.ProductName

from [Order Details] od1,[Order Details] od2 , Orders o1 , Orderso2,Customers c, Products p

where od1.UnitPrice<>od2.UnitPrice andod1.ProductID=od2.ProductID

and od1.OrderID=o1.OrderID

and od2.OrderID=o2.OrderID

and o1.CustomerID=o2.CustomerID

and o1.CustomerID=C.CustomerID

首先在界面左上方選擇數據庫,然後點擊工具欄上的“Execute”按鈕,執行原始的SQL語句,SQLTuning會自動分析SQL的執行計劃,並把分析結果顯示到界面上(圖3)。

人工智能自動sql優化工具

圖3 分析原始SQL語句

(3)優化SQL。

現在我們點擊工具欄上的“Optimize Statement”按鈕,讓SQLTuning開始優化SQL,完成後,可以看到SQLTuning產生了34條與原始SQL等價的優化方案(圖4)。

人工智能自動sql優化工具

圖4 SQL優化方案

(4)獲得最優SQL。

接下來,我們來執行上面產生的優化方案,以選出性能最佳的等效SQL語句。在列表中選擇需要執行的優化方案(默認已全部選中),然後點擊工具欄上的“Execute”按鈕旁邊的下拉菜單,選擇“ExecuteSelected”。等到所有SQL運行完成後,點擊界面左方的“TuningResolution”按鈕,可以看到最優的SQL已經出來啦,運行時間竟然可以提高52%!(圖5)

人工智能自動sql優化工具

圖5 “Tuning Resolution”界面

(5)學習書寫專家級的SQL語句。

通過上面的步驟,我們已經可以實現自動優化SQL語句,但更重要的是,我們還可以學習如何書寫這樣高性能的SQL語句。點擊界面左方的“CompareScenarios”按鈕,我們可以比較優化方案和原始SQL中的任意2條SQL語句,SQLTuning會將它們之間的不同之處以不同顏色表示出來,還可以在下方的“執行計劃”中,通過比較兩條SQL語句的執行計劃的不同,來了解其中的差異(圖6)。

人工智能自動sql優化工具

圖6 “Compare Scenarios”界面

3.小結

SQLTuning等人工智能自動SQL優化工具的出現,為我們節省出大量的時間和精力。借助這些工具的幫助,書寫專家級的SQL語句將不再是難事。

以上就是精品為大家提供的關於人工智能自動sql優化工具的相關內容,希望能夠幫助到大家。

copyright © 萬盛學電腦網 all rights reserved