程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> 人工智能主動sql優化對象--SQLTuning for SQL Server

人工智能主動sql優化對象--SQLTuning for SQL Server

編輯:MSSQL

人工智能主動sql優化對象--SQLTuning for SQL Server。本站提示廣大學習愛好者:(人工智能主動sql優化對象--SQLTuning for SQL Server)文章只能為提供參考,不一定能成為您想要的結果。以下是人工智能主動sql優化對象--SQLTuning for SQL Server正文


針對這類情形,人工智能主動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) 的應用辦法。

圖1 quest central界面

2. 應用SQL Tuning 優化SQL

上面我們用SQLServer自帶的Northwind數據庫為例,贊助年夜家懂得若何應用SQLTuning優化SQL。

(1)樹立銜接。
在QuestCentral主界面上的“Database”樹上選擇“SQLServer”,然後鄙人方湧現的“Tools”框當選擇“SQLTuning”選項,翻開“Lanch SQL Tuning for SQL ServerConnections”對話框(圖2)。我們在這裡樹立數據庫辦事器的銜接,今後的剖析任務都邑在它下面完成。



圖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)。


圖3 剖析原始SQL語句

(3)優化SQL。

如今我們點擊對象欄上的“Optimize Statement”按鈕,讓SQLTuning開端優化SQL,完成後,可以看到SQLTuning發生了34條與原始SQL等價的優化計劃(圖4)。


圖4 SQL優化計劃

(4)取得最優SQL。

接上去,我們來履行下面發生的優化計劃,以選出機能最好的等效SQL語句。在列表當選擇須要履行的優化計劃(默許已全體選中),然後點擊對象欄上的“Execute”按鈕旁邊的下拉菜單,選擇“ExecuteSelected”。比及一切SQL運轉完成後,點擊界面左方的“TuningResolution”按鈕,可以看到最優的SQL曾經出來啦,運轉時光居然可以進步52%!(圖5)


圖5 “Tuning Resolution”界面

(5)進修書寫專家級的SQL語句。

經由過程下面的步調,我們曾經可以完成主動優化SQL語句,但更主要的是,我們還可以進修若何書寫如許高機能的SQL語句。點擊界面左方的“CompareScenarios”按鈕,我們可以比擬優化計劃和原始SQL中的隨意率性2條SQL語句,SQLTuning會將它們之間的分歧的地方以分歧色彩表現出來,還可以鄙人方的“履行籌劃”中,經由過程比擬兩條SQL語句的履行籌劃的分歧,來懂得個中的差別(圖6)。


圖6 “Compare Scenarios”界面

3.小結

SQLTuning等人工智能主動SQL優化對象的湧現,為我們節儉出年夜量的時光和精神。借助這些對象的贊助,書寫專家級的SQL語句將不再是難事。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved