Oracle SQL tuning 數(shù)據庫優化步驟圖文教程
SQL Turning 是Quest公司出品(pǐn)的Quest Central軟件(jiàn)中的一個工具。Quest Central是一(yī)款集成化、圖形化、跨平台的數據庫管理解決方案,可以同時管理 Oracle、DB2 和 SQL server 數據庫(kù)。
一、SQL Tuning for SQL Server簡介
SQL語句的優化對發揮數據庫的最佳性能非常關鍵。然而不幸的(de)是(shì),應用優化通常由於時間和資源(yuán)的因素而被忽(hū)略。SQL Tuning (SQL優化)模塊可以對比和評測特定應(yīng)用(yòng)中SQL語句(jù)的(de)運行性(xìng)能,提(tí)出智能化的優化建議,幫助用戶改善應(yīng)用的響應時間。SQL優化模塊具(jù)有非(fēi)介入式SQL采集、自動優化和專家建議等功(gōng)能,全麵改善(shàn)SQL優化工作。
二、SQL Tuning for SQL Server的使用
1、打開Quest Database Management Solutions彈出窗口如圖1所示
圖1
2、在紅(hóng)色標記處打開SQL Tuning 優化SQL
(1)建立連接。
在Quest Central主界麵上(shàng)的“Database”樹(shù)上選擇“SQL Server”,然後在下方出現的(de)“Tools”框中(zhōng)選擇“SQL Tuning”選項,打開“Lanch SQL Tuning for SQL Server Connections”對話框(圖(tú)2、圖3)。我們在這(zhè)裏建立數據庫服務器的連接,以後的分析工作都會在它上麵完成。
圖2 “建立連接”對話框
圖3
雙擊(jī)“New Connection”圖標(biāo),在彈出窗(chuāng)口中輸入數據庫的信息,單擊“OK”,然後(hòu)單擊“Connect”即(jí)可。
(2)分析原(yuán)始SQL語句 ,在單擊“Connect”後將彈出一個新窗口,如圖4
圖4
在打開窗口(kǒu)的“Oriangal SQL”文本框內輸入需要(yào)分析(xī)的原始SQL語句,紅色標記(jì)處選擇對應的數據庫名,SQL語句代碼如下:
圖5 分析原始SQL語句
原始SQL語句
然(rán)後點擊工具欄(lán)上的“Execute”按鈕,執行原(yuán)始的SQL語(yǔ)句(jù),SQL Tuning會自動分析SQL的(de)執行計劃,並把分析結(jié)果顯示到界麵上(shàng)(圖5)。
(3)優化SQL。
現在我們(men)點擊工(gōng)具欄(lán)上的“Optimize Statement”按鈕,讓SQL Tuning開始(shǐ)優化SQL,完成後,可以看到SQL Tuning產(chǎn)生了19條與原始SQL等價的(de)優化方(fāng)案(圖6)。
圖6 SQL優化方案
(4)獲得最優SQL。
接(jiē)下來,我們來執行上麵產生的優化方案,以選出性能最佳的等效SQL語句。在列表中選(xuǎn)擇(zé)需(xū)要執行的優(yōu)化方案(默認已全部選中),然後點擊(jī)工具欄上(shàng)的“Execute”按鈕旁邊的下拉菜單,選擇“Execute Selected”。等到所有SQL運行完成後,點擊界麵左方的“Tuning Resolution”按鈕,
可以看(kàn)到最優的SQL已經出來啦,運行(háng)時間竟然可以提高21%!(圖7)
圖7 “Tuning Resolution”界麵
最優的SQL語句如下:
5)學習書寫專家級的SQL語句(jù) 。
優化後的SQL語句(jù)
SELECT dbo.Person_BasicInfo.*,
dbo.Graduater_GraduaterRegist.RegistNO AS RegistNO,
dbo.Graduater_GraduaterRegist.RegistTime AS BaoDaoTime,
dbo.Graduater_GraduaterRegist.RegistMan AS RegistMan,
dbo.Graduater_Business.ComeFrom AS ComeFrom,
dbo.Graduater_Business.Code AS Code,
dbo.Graduater_Business.Status AS Status,
dbo.Graduater_Business.ApproveResult AS ApproveResult,
dbo.Graduater_Business.NewCorp AS NewCorp,
dbo.Graduater_Business.CommendNumber AS CommendNumber,
dbo.Graduater_Business.EmployStatus AS EmployStatus,
dbo.Graduater_Business.NewCommendTime AS NewCommendTime,
dbo.Graduater_Business.GetSource AS GetSource,
dbo.Graduater_Business.EmployTime AS EmployTime,
dbo.Graduater_Business.Job AS Job,
dbo.Graduater_Business.FillMan AS FillMan,
dbo.Graduater_Business.FillTime AS FillTime,
dbo.Graduater_Business.IsCommendOK AS IsCommendOK,
dbo.Graduater_Business.ApproveUser AS ApproveUser,
dbo.Graduater_Business.ApproveTime AS ApproveTime,
dbo.Graduater_Business.RegistTime AS RegistTime,
dbo.Graduater_Business.EmployCorp AS EmployCorp,
dbo.Graduater_Business.JobRemark AS JobRemark,
CASE WHEN dbo.Graduater_Business.ComeFrom = 'WS' THEN '網上(shàng)登記'
WHEN dbo.Graduater_Business.ComeFrom = 'HP' THEN '華普大廈(xià)'
WHEN dbo.Graduater_Business.ComeFrom = 'JD' THEN '精典大(dà)廈'
WHEN dbo.Graduater_Business.ComeFrom = 'MC' THEN '賽馬場'
WHEN ComeFrom = 'ZX' THEN '高指中心' END AS ComeFromName,
dbo.Person_Contact.Address AS Address,
dbo.Person_Contact.Zip AS Zip,
dbo.Person_Contact.Telephones AS Telephones,
dbo.Person_Contact.mobiles AS mobiles,
dbo.Person_Contact.Email AS Email,
dbo.Person_Contact.IM AS IM,
dbo.Person_Skill.ForeignLanguage AS ForeignLanguage,
dbo.Person_Skill.ForeignLanguageLevel&nbs
關鍵詞:Oracle,SQL,數據庫
閱讀本文後您有什麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0