人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

人工智能自動(dòng)sql優(yōu)化工具--SQLTuning for SQL Server

發(fā)布日期:2021-12-26 19:27 | 文章來(lái)源:源碼中國(guó)

針對(duì)這種情況,人工智能自動(dòng)SQL優(yōu)化工具應(yīng)運(yùn)而生。現(xiàn)在我就向大家介紹這樣一款工具:SQLTuning for SQL Server。

1. SQL Tuning 簡(jiǎn)介

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

QuestCentral(圖1)是一款集成化、圖形化、跨平臺(tái)的數(shù)據(jù)庫(kù)管理解決方案,可以同時(shí)管理Oracle、DB2 和 SQL server 數(shù)據(jù)庫(kù)。它包含了如下的多個(gè)工具:

數(shù)據(jù)庫(kù)管理(DBA)
數(shù)據(jù)庫(kù)監(jiān)控(Monitoring Pack)
數(shù)據(jù)庫(kù)診斷 (Spotlight Diagnostics)
數(shù)據(jù)庫(kù)分析 (Database Analysis)
SQL優(yōu)化 (SQL Tuning)
空間管理 (Space Management)
壓力測(cè)試 (Load Generator)
數(shù)據(jù)生成 (Data Generator)
PL/SQL 開(kāi)發(fā) (TOAD)
專家建議 (Knowledge Expert)

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

圖1 quest central界面

2. 使用SQL Tuning 優(yōu)化SQL

下面我們用SQLServer自帶的Northwind數(shù)據(jù)庫(kù)為例,幫助大家了解如何使用SQLTuning優(yōu)化SQL。

(1)建立連接。
在QuestCentral主界面上的“Database”樹(shù)上選擇“SQLServer”,然后在下方出現(xiàn)的“Tools”框中選擇“SQLTuning”選項(xiàng),打開(kāi)“Lanch SQL Tuning for SQL ServerConnections”對(duì)話框(圖2)。我們?cè)谶@里建立數(shù)據(jù)庫(kù)服務(wù)器的連接,以后的分析工作都會(huì)在它上面完成。



圖2 “建立連接”對(duì)話框

雙擊“NewConnection”圖標(biāo),在彈出窗口中輸入數(shù)據(jù)庫(kù)的信息,單擊“OK”,然后單擊“Connect”即可。

(2)分析原始SQL語(yǔ)句 。
在打開(kāi)窗口的“OriangalSQL”文本框內(nèi)輸入需要分析的原始SQL語(yǔ)句,代碼如下:

/*查詢賣(mài)出價(jià)個(gè)不同的同一貨物名稱*/
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

首先在界面左上方選擇數(shù)據(jù)庫(kù),然后點(diǎn)擊工具欄上的“Execute”按鈕,執(zhí)行原始的SQL語(yǔ)句,SQLTuning會(huì)自動(dòng)分析SQL的執(zhí)行計(jì)劃,并把分析結(jié)果顯示到界面上(圖3)。


圖3 分析原始SQL語(yǔ)句

(3)優(yōu)化SQL。

現(xiàn)在我們點(diǎn)擊工具欄上的“Optimize Statement”按鈕,讓SQLTuning開(kāi)始優(yōu)化SQL,完成后,可以看到SQLTuning產(chǎn)生了34條與原始SQL等價(jià)的優(yōu)化方案(圖4)。


圖4 SQL優(yōu)化方案

(4)獲得最優(yōu)SQL。

接下來(lái),我們來(lái)執(zhí)行上面產(chǎn)生的優(yōu)化方案,以選出性能最佳的等效SQL語(yǔ)句。在列表中選擇需要執(zhí)行的優(yōu)化方案(默認(rèn)已全部選中),然后點(diǎn)擊工具欄上的“Execute”按鈕旁邊的下拉菜單,選擇“ExecuteSelected”。等到所有SQL運(yùn)行完成后,點(diǎn)擊界面左方的“TuningResolution”按鈕,可以看到最優(yōu)的SQL已經(jīng)出來(lái)啦,運(yùn)行時(shí)間竟然可以提高52%?。▓D5)


圖5 “Tuning Resolution”界面

(5)學(xué)習(xí)書(shū)寫(xiě)專家級(jí)的SQL語(yǔ)句。

通過(guò)上面的步驟,我們已經(jīng)可以實(shí)現(xiàn)自動(dòng)優(yōu)化SQL語(yǔ)句,但更重要的是,我們還可以學(xué)習(xí)如何書(shū)寫(xiě)這樣高性能的SQL語(yǔ)句。點(diǎn)擊界面左方的“CompareScenarios”按鈕,我們可以比較優(yōu)化方案和原始SQL中的任意2條SQL語(yǔ)句,SQLTuning會(huì)將它們之間的不同之處以不同顏色表示出來(lái),還可以在下方的“執(zhí)行計(jì)劃”中,通過(guò)比較兩條SQL語(yǔ)句的執(zhí)行計(jì)劃的不同,來(lái)了解其中的差異(圖6)。


圖6 “Compare Scenarios”界面

3.小結(jié)

SQLTuning等人工智能自動(dòng)SQL優(yōu)化工具的出現(xiàn),為我們節(jié)省出大量的時(shí)間和精力。借助這些工具的幫助,書(shū)寫(xiě)專家級(jí)的SQL語(yǔ)句將不再是難事。

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部