天天看點

使用資料庫引擎優化Tuning Advistor和dta

sql server 2005一個我非常欣賞的特性就是有了專門優化程式,據說在2k下面也有,不過我沒有用過,估計也不會怎麼樣. 不說2k還是說說2005的這個好東東.

在sql server management studio中點選"工具"的"資料庫引擎優化顧問"可以啟動這個程式,當然也可以通過開始菜單中的sql2005下面的"性能工具"下來打開程式.

打開該程式後輸入正确的使用者名密碼就可以登入資料庫.這裡的優化是針對具體sql語句的優化,是以要準備一個要優化的查詢語句比如:

use adventureworks ;

select *

from production.product

把以上語句儲存為一個檔案,在tuning advistor中輸入會話名稱:testit,然後選擇"工作負荷"中的"檔案",并指定剛才儲存的這個檔案,當然下面就是要選針對的資料庫了,我們用的是測試資料庫adventureworks ,下面還有"要優化的資料庫和表"好像官方說這下面和上面隻要選了一個就可以了,不過似乎不行,我們還是把這兒的adventureworks 也選上吧.接下來就是配置"優化選項"了,這裡面的一般就用預設值.這兒雖然選項不是很多,不過有些概念還是不懂,若要詳細研究按f1檢視幫助.

以上的配置完成後就可以點"開始分析"了,過一會兒分析結果就出來了.我們最關注的就是"建議"選項,當然這兒有一個"估計提高程度",如果是提高0%那就沒有提升空間了什麼也不用看了.若有提升空間而且你個人覺得有這個必要那麼就按ctrl+s将建議的腳本儲存到硬碟,然後用management studio執行這個建議腳本就可以了,當然還有更簡單的方法就是點"操作"->"應用建議"就可以了.

我們在完成了優化以後再來使用一下我們當初的腳本來優化,還是和上面的步驟一樣,這個時候估計提高程度應該是0%,那也就是說我們優化完成了.

順便再提一下,在指令行模式下可以使用dta指令來進行優化操作,輸入dta /?自己看幫助.其他沒有什麼好說的唯一要提的就是如果不是預設端口,那麼我們的連接配接字元串應該這樣寫,而且必須用雙引号引起來.如下:

dta -s "tcp:157.60.15.215,12345" -u sa -p 123456 -d adventureworks -if c:\myscript.sql -s mysession2 -of c:\ans.sql -ox output.xml -fa idx_iv -fp none -fk none