開始應用程序的時候,你應該能夠根據一組合理的規則集合識別許多的索引。當應用程序增長及改變的時候,所以對索引進行檢查,以便確保沒有忽略更好的索引方案。這需要依據應用程序的使用方式,而不是理論知識。同樣,還要確保錯誤的,重復的,或者沒有價值的索引被刪除。這是一項預防的措施,可以保證你的SQL Server不需要管理不需要的索引。在這篇文章中,我們將會給出有關索引建議、索引創建和索引驗證的建議。
常用索引字段
許多數據庫管理員和開發人員都遇到的一個常見問題,就是與常被推薦的索引傳統字段有關。通常的推薦有:
主鍵
外鍵
支持select, insert, update和 delete命令中以下子句的字段:
INNER join
RIGHT | LEFT OUTER join
where
ORDER BY
GROUP BY
HAVING
還有一些額外的關於索引的考慮如下所示:
數據量——當數據行數很少的時候,表掃描可以像穿過索引去訪問數據一樣快,並且比它成本還要低。
數據的選擇性——當數據選擇性較低的時候,例如字段中存有相同數據的時候,索引的價值最低。
處理類型——在事務處理系統中,索引應該最小化,以支持盡可能快地插入,與報告系統相比較,以新的方式和不同的方式查詢數據可以從擴展的索引中得到好處。
SQL Server 2000 索引中的要與不要
Indexing 問答: 回答常見的索引相關問題
我如何為我的應用程序確定需要的索引?
一旦確定了常用的推薦的索引,就需要開始為你的應用程序決定最佳的索引了。在下面的列表中,SQL Server工具可以幫助你完成這個確定的過程。
ID 工具 目標 SQL 版本 其它資源 1 Profiler 識別性能糟糕的查詢,作為確定潛在索引的方式 SQL Server 2000 跟使用 SQL Server 2005 Profiler蹤查詢執行結果 SQL Server 2005 SQL Profiler: 特性、功能,以及在 SQL Server 2005中的安裝 2 數據庫引擎調整顧問(Database Engine Tuning Advisor) 分析來自Profiler的數據或者實時提供有益索引或者基於分區 SQL Server 2005 Database Engine Tuning Adviser: 任何調整你的新 SQL Server 2005 3 索引調整向導(Index Tuning Wizard) 分析來自Profiler 的數據或者實時提供有益索引 SQL Server 2000 使用 Index Tuning Wizard的技巧 4 sys.dm_db_missing _index_columns (動態管理視圖:Dynamic Management View) 識別缺少索引的字段 SQL Server 2005 sys.dm_db_缺少索引的字段