小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

[SQL優(yōu)化工具]SQL Tuning for SQL Server

 戰(zhàn)爭213 2015-02-03
SQL語句是對(duì)數(shù)據(jù)庫進(jìn)行操作的惟一途徑,對(duì)數(shù)據(jù)庫系統(tǒng)的性能起著決定性的作用。對(duì)于同一條件下的SQL語句寫法有很多,其中一些寫法往往對(duì)性能又有很大影響。但是每個(gè)人掌握SQL語言的水平不同,如何才能保證寫出高性能的SQL呢?

   針對(duì)這種情況,人工智能自動(dòng)SQL優(yōu)化工具應(yīng)運(yùn)而生?,F(xiàn)在我就向大家介紹這樣一款工具:SQL Tuning for SQL Server。
1. SQL Tuning 簡介
   SQL Turning 是Quest公司出品的Quest Central軟件中的一個(gè)工具。
  Quest Central(圖1)是一款集成化、圖形化、跨平臺(tái)的數(shù)據(jù)庫管理解決方案,可以同時(shí)管理 Oracle、DB2 和 SQL server 數(shù)據(jù)庫。它包含了如下的多個(gè)工具:
數(shù)據(jù)庫管理(DBA)
數(shù)據(jù)庫監(jiān)控(Monitoring Pack)
數(shù)據(jù)庫診斷 (Spotlight Diagnostics)
數(shù)據(jù)庫分析 (Database Analysis)
SQL優(yōu)化 (SQL Tuning)
空間管理 (Space Management)
壓力測(cè)試 (Load Generator)
數(shù)據(jù)生成 (Data Generator)
PL/SQL 開發(fā) (TOAD)
專家建議 (Knowledge Expert)
  今天,我們只介紹其中的SQL優(yōu)化 (SQL Tuning for SQL Server) 的使用方法。
[SQL優(yōu)化工具]SQL Tuning for SQL Server

                               圖1   quest central界面
2. 使用SQL Tuning 優(yōu)化SQL
     下面我們用SQL Server自帶的Northwind數(shù)據(jù)庫為例,幫助大家了解如何使用SQL Tuning優(yōu)化SQL。 
  (1)建立連接。
   在Quest Central主界面上的“Database”樹上選擇“SQL Server”,然后在下方出現(xiàn)的“Tools”框中選擇“SQL Tuning”選項(xiàng),打開“Lanch SQL Tuning for SQL Server Connections”對(duì)話框(圖2)。我們?cè)谶@里建立數(shù)據(jù)庫服務(wù)器的連接,以后的分析工作都會(huì)在它上面完成。

[SQL優(yōu)化工具]SQL Tuning for SQL Server
                         圖2 “建立連接”對(duì)話框
   雙擊“New Connection”圖標(biāo),在彈出窗口中輸入數(shù)據(jù)庫的信息,單擊“OK”,然后單擊“Connect”即可。
  (2)分析原始SQL語句 。
  在打開窗口的“Oriangal SQL”文本框內(nèi)輸入需要分析的原始SQL語句,代碼如下:


/*查詢賣出價(jià)個(gè)不同的同一貨物名稱*/
select DISTINCT c.CompanyName,p.ProductName
from [Order Details] od1,[Order Details] od2 , Orders o1 , Orders o2,Customers c, Products p
where od1.UnitPrice<>od2.UnitPrice and od1.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ù)庫,然后點(diǎn)擊工具欄上的“Execute”按鈕,執(zhí)行原始的SQL語句,SQL Tuning會(huì)自動(dòng)分析SQL的執(zhí)行計(jì)劃,并把分析結(jié)果顯示到界面上(圖3)。

[SQL優(yōu)化工具]SQL Tuning for SQL Server

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

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

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

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

                                          圖6 “Compare Scenarios”界面 
3.小結(jié)
    SQL Tuning等人工智能自動(dòng)SQL優(yōu)化工具的出現(xiàn),為我們節(jié)省出大量的時(shí)間和精力。借助這些工具的幫助,書寫專家級(jí)的SQL語句將不再是難事。


SQL Tuning 學(xué)習(xí)下載地址 工具下載


  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多