資料庫引擎優化顧問優化資料庫
現在一直在做的專案,資料量相對也不小,開始的時候沒有覺得,因為是剛開始,資料量還很小,在程式使用過程中速度還挺快,但是隨著資料量的不停的增長,發現程式越來越慢,甚至出現了超時的問題,因此要對程式和資料庫進行優化,前期專案比較緊,沒有針對大資料量業務進行分析設計,所以索引等相關優化沒有做到位,通過後期的大資料量導致的錯誤使用了下面的方法。
這裡簡單的講一下:如何使用資料庫引擎優化顧問優化資料庫
簡單的優化一下資料庫。
一、啟動 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
五、檢視報告
有很多報告可以檢視。
這裡可以看到表的訪問頻率,前面的建議優化是非常正確的。
這裡有索引的報告。當索引特別大時,根據自己的實際情況進行優化