Sql server 2008 r2 添加聚集索引后对SELECT查询的性能影响

Sql server 2008 r2 添加聚集索引后对SELECT查询的性能影响,sql-server-2008-r2,sqlperformance,Sql Server 2008 R2,Sqlperformance,我们有一个SELECT操作,该操作涉及大约2000万条记录的表。表上没有聚集索引,并且在另一个文件组中存储了非聚集索引 该系统通常运行约3小时才能完成。系统使用表扫描进行查询,不涉及非聚集索引。 因此,我们试图通过向表中添加聚集索引来改善持续时间。所有索引和统计数据都将重建 但是,现在系统执行聚集索引扫描而不是表扫描,结果比以前差得多(慢3倍) 所以我的问题是 为什么聚集索引扫描比表扫描更糟糕 删除这些聚集索引是个好主意吗?目前,插入/更新/删除不受关注 谢谢你的帮助。太笼统了,无法给出答案。请

我们有一个SELECT操作,该操作涉及大约2000万条记录的表。表上没有聚集索引,并且在另一个文件组中存储了非聚集索引

该系统通常运行约3小时才能完成。系统使用表扫描进行查询,不涉及非聚集索引。 因此,我们试图通过向表中添加聚集索引来改善持续时间。所有索引和统计数据都将重建

但是,现在系统执行聚集索引扫描而不是表扫描,结果比以前差得多(慢3倍)

所以我的问题是

  • 为什么聚集索引扫描比表扫描更糟糕
  • 删除这些聚集索引是个好主意吗?目前,插入/更新/删除不受关注

  • 谢谢你的帮助。

    太笼统了,无法给出答案。请提供更多详细信息,包括查询和表/索引结构。如果聚集索引以合理的方式组织数据,通常是一个好主意。换句话说,一个好的聚集索引通常是好的。问题可能是您没有选择一个好的聚集索引。如果没有看到查询、表的模式和表上的索引定义,我怀疑问题1就无法回答。我相当肯定,完整的答案还需要查询的执行计划。一些关键字段的示例数据可能也很有用。