1. 程式人生 > >資料庫引擎優化顧問優化資料庫

資料庫引擎優化顧問優化資料庫

現在一直在做的專案,資料量相對也不小,開始的時候沒有覺得,因為是剛開始,資料量還很小,在程式使用過程中速度還挺快,但是隨著資料量的不停的增長,發現程式越來越慢,甚至出現了超時的問題,因此要對程式和資料庫進行優化,前期專案比較緊,沒有針對大資料量業務進行分析設計,所以索引等相關優化沒有做到位,通過後期的大資料量導致的錯誤使用了下面的方法。

這裡簡單的講一下:如何使用資料庫引擎優化顧問優化資料庫

簡單的優化一下資料庫。

一、啟動 microsoft sql server management studio(就是sql的管理工具)

二、工具->sql server profiler

三、sql server profiler->檔案->新建跟蹤 ->執行

  時間長一點,點停止 然後儲存這個跟蹤

   sql server profiler->檔案->儲存->取個名字。

  詳細檢視:

  如何建立跟蹤 (SQL Server Profiler)

  http://technet.microsoft.com/zh-cn/library/ms175047.aspx

四、sql server profiler->工具-資料庫引擎優化顧問

  工作負荷 選擇剛才儲存的檔案。

  在選擇要優化的資料庫和表 裡面選擇一個(不要全選,會卡死的)

  選項都是中文的,自己配置一下。

  最後點下開始分析。

  完成後會有建議

  查詢其實已經很快了,但是這個功能模組使用頻率很高,跟據它的建議優化一下。確實提高了不少。

   一個是統計,一個是索引

  以下是網上查過來的:

   1.STATISTICS是一個表中某幾個列的統計資訊,如一個表是全校學生某次考試的分數,score列的型別是int,取值範圍是0到100的整數, 那麼statistc就是每個分數分別有多少人。在一個特定的查詢中,使用索引可能加快  速度,也可能減慢速度,所以SQL server要事先對使用索引的效果做一個預測,預測的依據就是STATISTICS。
  2.預設情況下,表或索引更改了,統計會相應地自動更新, 以保持統計是最新的。但是可以在資料庫選項中關閉這個自動更新的功能,提高資料表的更新速度。但需要定期手動更新統計。因為過期的統計資訊會對是否使用索 引的判斷帶來誤判。沒發現SQL2000和SQL2005的統計有什麼區別。
  3.index要依賴正確的STATISTICS才能發揮作用。而你的SQL2005優化工具對缺乏STATISTIC的列自動產生了建立語句。

  索引有很多好處和壞外,以下是索引的一點點資料,

  http://www.cnblogs.com/Mattcoder/archive/2007/02/08/644824.html

五、檢視報告

有很多報告可以檢視。

這裡可以看到表的訪問頻率,前面的建議優化是非常正確的。

 

這裡有索引的報告。當索引特別大時,根據自己的實際情況進行優化