當爲特定查詢創建索引時,最好將where子句中的所有列索引,然後在「包含的列」部分中選擇任何列?我應該離開索引的位列嗎?SQL Server索引問題
1
A
回答
1
經典 「這取決於」 的位。如果你包含它們,那麼你正在創建一個覆蓋索引,這將會更加有效,但同樣的,你會因行插入,刪除和一些更新而受到懲罰。
您還要爲磁盤空間付出代價,因此如果要在大型表中包含非常寬的列,則需要平衡存儲開銷與性能增益的增加。
所有的事情都是平等的,覆蓋指數通常是一件好事,但有些警告,如其他操作的空間和開銷需要注意。
4
它總是取決於。有很多因素在起作用:索引大小,列選擇性,查詢頻率,更新速率等等。沒有通用規則來添加或添加它們,答案總是針對特定問題。
相關問題
- 1. SQL Server聚集索引 - 索引問題
- 2. SQL Server 2008索引碎片問題
- 3. SQL Server索引查看問題
- 4. SQL Server 2008全文索引問題
- 5. 與SQL Server表的索引問題
- 6. 的SQL Server索引的使用問題
- 7. SQL Server 2008的全文索引問題
- 8. SQL Server索引疑問
- 9. SQL索引問題
- 10. SQL Server雙引號問題
- 11. 搜索在SQL Server問題
- 12. SQL Server索引
- 13. SQL Server索引
- 14. SQL Server索引
- 15. SQL全文索引問題
- 16. SQL列搜索問題(SQL Server 2005中)
- 17. 索引問題
- 18. Sql Server問題
- 19. SQL Server問題
- 20. 小於或大於sql server中索引的運算符問題
- 21. SQL Server 2008中全文索引(字符問題)
- 22. SQL Server中的索引視圖有問題,錯誤8646
- 23. 獲取索引信息的問題 - SQL Server
- 24. SQL Server 2005全文搜索問題
- 25. SQL Server全文搜索問題
- 26. 集羣索引SQL Server
- 27. 的SQL Server索引設計
- 28. SQL Server 2005索引碎片
- 29. 索引與MD5在SQL Server
- 30. 同步SQL Server索引
在這個特定的數據庫中,插入/更新/刪除操作只能在半夜每天執行一次,所以我願意對該性能產生影響。知道它看起來像是一個覆蓋指數將是當時的路? – 2009-12-21 17:49:05
聽起來更像是DW或Hybrid,而不是純OLTP,因此覆蓋索引可能對您有利 - 但它確實是YMMV。 – Andrew 2009-12-21 19:17:08
是的,這是一個DW。因人而異? – 2009-12-22 07:02:47