当为特定查询创建索引时,最好将where子句中的所有列索引,然后在“包含的列”部分中选择任何列?我应该离开索引的位列吗?SQL Server索引问题
1
A
回答
1
经典 “这取决于” 的位。如果你包含它们,那么你正在创建一个覆盖索引,这将会更加有效,但同样的,你会因行插入,删除和一些更新而受到惩罚。
您还要为磁盘空间付出代价,因此如果要在大型表中包含非常宽的列,则需要平衡存储开销与性能增益的增加。
所有的事情都是平等的,覆盖指数通常是一件好事,但有些警告,如其他操作的空间和开销需要注意。
4
它总是取决于。有很多因素在起作用:索引大小,列选择性,查询频率,更新速率等等。没有通用规则来添加或添加它们,答案总是针对特定问题。
相关问题
- 1. SQL Server聚集索引 - 索引问题
- 2. 的SQL Server索引的使用问题
- 3. SQL Server 2008的全文索引问题
- 4. SQL Server 2008全文索引问题
- 5. SQL Server 2008索引碎片问题
- 6. SQL Server索引查看问题
- 7. SQL Server索引疑问
- 8. SQL索引问题
- 9. SQL Server双引号问题
- 10. 搜索在SQL Server问题
- 11. SQL Server索引
- 12. SQL Server索引
- 13. SQL Server索引
- 14. SQL全文索引问题
- 15. SQL列搜索问题(SQL Server 2005中)
- 16. 索引问题
- 17. SQL Server 2008中全文索引(字符问题)
- 18. SQL Server中的索引视图有问题,错误8646
- 19. SQL Server问题
- 20. SQL Server 2005全文搜索问题
- 21. SQL Server索引视图
- 22. SQL Server 2008筛选索引
- 23. 集群索引SQL Server
- 24. MySQL索引相比SQL Server
- 25. SQL Server哈希索引
- 26. 的SQL Server索引 - 想法?
- 27. SQL Server分区与索引
- 28. SQL Server全文索引
- 29. MySQL索引到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