佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 人工智能自動sql優(yōu)化工具--SQLTuning for SQL Server

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

熱門標簽:AI電銷 網(wǎng)站排名優(yōu)化 服務(wù)外包 地方門戶網(wǎng)站 Linux服務(wù)器 百度競價排名 鐵路電話系統(tǒng) 呼叫中心市場需求

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

1. SQL Tuning 簡介

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

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

數(shù)據(jù)庫管理(DBA)
 數(shù)據(jù)庫監(jiān)控(Monitoring Pack)
 數(shù)據(jù)庫診斷 (Spotlight Diagnostics)
 數(shù)據(jù)庫分析 (Database Analysis)
 SQL優(yōu)化 (SQL Tuning)
 空間管理 (Space Management)
 壓力測試 (Load Generator)
 數(shù)據(jù)生成 (Data Generator)
 PL/SQL 開發(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ù)庫為例,幫助大家了解如何使用SQLTuning優(yōu)化SQL。

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



圖2 “建立連接”對話框

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

(2)分析原始SQL語句 。
在打開窗口的“OriangalSQL”文本框內(nèi)輸入需要分析的原始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

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


圖3 分析原始SQL語句

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

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


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

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

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


圖5 “Tuning Resolution”界面

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

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


圖6 “Compare Scenarios”界面

3.小結(jié)

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

您可能感興趣的文章:
  • 基于jQuery實現(xiàn)簡單人工智能聊天室
  • JavaScript 井字棋人工智能實現(xiàn)代碼
  • python、java等哪一門編程語言適合人工智能?

標簽:衡水 蘭州 黃山 仙桃 湖南 銅川 湘潭 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標題《人工智能自動sql優(yōu)化工具--SQLTuning for SQL Server》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    义乌市| 呼图壁县| 沙河市| 乌海市| 仁化县| 万山特区| 大庆市| 土默特左旗| 吉安市| 衡水市| 英吉沙县| 含山县| 平泉县| 栾川县| 东莞市| 卓尼县| 汕头市| 启东市| 安宁市| 武山县| 苏尼特右旗| 台南县| 德惠市| 南投县| 肥城市| 黔江区| 江西省| 长白| 涞水县| 正安县| 清流县| 汉中市| 抚宁县| 新化县| 汉源县| 磐石市| 韶山市| 松溪县| 高台县| 北海市| 长沙市|