程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 用索引調節向導調整應用程序的性能

用索引調節向導調整應用程序的性能

編輯:關於SqlServer

你可以使用SQL服務器調節器(SQL Server Profiler)工具來收集服務器當前活動的重要信息。被這個Profiler工具所追蹤到的信息(包含有數據庫的真實負載)能夠被用在多種場合裡。現在讓我們來看看如何使用Profiler收集能夠被索引調節向導所使用的數據,以及你該如何使用這些工具來調試你的應用程序。

什麼時候使用它?

Profiler工具能夠用在數據庫開發生命周期的所有階段。例如,在初始階段,你可以用它來輔助調試或者查明你的應用程序應該如何以及在何時調用存儲過程和其他的SQL聲明。在我最近所參與的一個項目裡,一個已編譯組件一調用數據庫就超時,在這種情況下,我們使用了Profiler來辨別SQL的聲明和應用程序調用它們的順序。使用這個工具就幫助我們發現了邏輯上的錯誤,這樣我們就成功地更正了自己的應用程序。

在開發過程後面的階段裡,Profiler能夠有助於辨別負載/壓力測試(load/stress testing)過程中應用程序的瓶頸。你還可以用它來監視日常的活動、執行安全審查,以及辨別其他影響性能的因素(例如設計不佳的查詢)。

在Profiler裡,你必須決定要記錄什麼,並考慮將所記錄下來的服務器活動應該被保存在哪裡。你可以選擇將自己的追蹤信息保存到數據庫表格裡或者是文件裡。當選擇將捕捉到的數據保存到表格裡的時候,你還可以設置要保存數據行的最大數量。這樣,Profiler就能夠在一個任務繁重的系統裡迅速地捕捉大量數據。但是由於這一點,你可能想要限制在一次追蹤之中Profiler所要捕捉的數據總量。

你可以選擇將所獲得的信息保存到追蹤文件裡。如果選擇了這個選項,你就能夠在文件達到了一定的大小之後將文件信息覆蓋掉,這將限制捕捉信息文件大小的上限。而且,你可以選擇要從哪裡開始進行追蹤處理。這就非常像在應用程序層裡編寫代碼選擇是在客戶端還是在服務器端進行指針執行。在正式的產品系統裡,你可能不希望在服務器上放上這麼一個工作負載,這樣的話,讓客戶端處理可能就是最好的選擇了。

當在這兩個選項之間進行選擇的時候,你的主要注意力應該放在其對數據庫/應用程序性能的影響上。對於大多數類型的日志記錄工作而言,將其保存為文件對系統的負擔要比保存到數據庫的小,所以對於高流量的實際產品系統來說,將日至保存為文件可能是更好的選擇。

使用Profiler

你可以使用Profiler創建和保存能夠被索引調節向導所使用的追蹤結果。為了使用Profiler為向導所收集到的數據,你可以選擇SQL服務器自帶的缺省模板。要做到這一點,在文件(File)菜單裡選擇新建|追蹤(New | Trace)。在常規(General)選項卡裡(圖A)選擇用於向導的缺省模板。你就會看到可以將追蹤結果保存為文件或者到數據庫裡。

圖A

Profiler的常規選項卡

在事件(Events)選項卡裡(圖B),和向導相關聯的事件類型有兩個:RPC:Completed用於存儲過程,以及SQL:BatchCompleted用於其他的TSQL聲明。

圖B

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved