標籤:ati 最新 sel 開頭 技術 file 參考 tis 網上
現在一直在做的項目,資料量相對也不小,開始的時候沒有覺得,因為是剛開始,資料量還很小,在程式使用過程中速度還挺快,但是隨著資料量的不停的增長,發現程式越來越慢,甚至出現了逾時的問題,因此要對程式和資料庫進行最佳化,前期項目比較緊,沒有針對大資料量業務進行分析設計,所以索引等相關最佳化沒有做到位,通過後期的大資料量導致的錯誤使用了下面的方法。
這裡簡單的講一下:如何使用Database Engine Tuning Advisor最佳化資料庫
簡單的最佳化一下資料庫。
一、啟動 microsoft sql server management studio(就是sql的管理工具)
二、工具->sql server profiler
三、sql server profiler->檔案->建立跟蹤 ->已耗用時間長一點,點停止 然後儲存這個跟蹤 sql server profiler->檔案->儲存->取個名字。
選擇監控的語句,%select%,%update%,%delete% 語句開頭。
詳細查看:
如何建立跟蹤 (SQL Server Profiler)
http://technet.microsoft.com/zh-cn/library/ms175047.aspx
四、sql server profiler->工具-Database Engine Tuning Advisor
工作負載 選擇剛才儲存的檔案。
在選擇要最佳化的資料庫和表 裡面選擇一個(不要全選,會卡死的)
選項都是中文的,自己配置一下。
最後點下開始分析。
完成後會有建議
查詢其實已經很快了,但是這個功能模組使用頻率很高,跟據它的建議最佳化一下。確實提高了不少。
一個是統計,一個是索引
以下是網上查過來的:
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
五、查看報告
有很多報告可以查看。
這裡可以看到表的訪問頻率,前面的建議最佳化是非常正確的。
這裡有索引的報告。當索引特別大時,根據自己的實際情況進行最佳化
如何使用Database Engine Tuning Advisor最佳化資料庫
http://technet.microsoft.com/zh-cn/library/ms186354.aspx
如何建立工作負載
http://technet.microsoft.com/zh-cn/library/ms190957.aspx
參考地址:https://www.cnblogs.com/zhouchaoyi/articles/2088026.html
SqlServer Database Engine Tuning Advisor最佳化資料庫