Lea*_*ner 1 index sql-server-2008 nonclustered-index
我有一个大约需要 2 分钟才能执行的存储过程。执行计划建议我在一个表上创建一个非聚集索引(这是一个包含数百万条记录的高流量表,而且每秒钟都有一个恒定的数据流)。
请帮助我决定是否应该在该表上创建索引。
注意:我尝试在该表上(在开发服务器上)创建一个非聚集索引,时间从 2 分钟减少到 40 秒。
您还没有真正提供有关原始执行计划、更改为什么或您在新 NCI 中放入哪些列的足够信息。查询性能有可能进一步提高。新索引的成本是初始构建、对 INSERT 和 UPDATE 条目的额外处理以及潜在的碎片维护。此外,如果数据配置文件可能会发生变化,则可能需要进行一些统计维护。
索引有可能通过减少对聚集索引的读取访问来提高整体系统性能,但是由于表变化如此之快,维护索引的成本可能非常高。另一方面,您必须查看总体要求。如果这个查询一个月只运行一次,可能太高了。如果它每小时运行 10 次,那么在几秒钟内运行它,插入稍微慢一点可能是一个很小的代价。
如果有很多更新,需要注意的是索引碎片,因为 NCI 密钥不是静态的。
| 归档时间: |
|
| 查看次数: |
651 次 |
| 最近记录: |