我们的SQL数据库中有221gb表,主要是重复数据。
团队已在HEAP上创建了NON-CLUSTERED索引。在性能方面真的有帮助吗?
我们应该在表中放置IDENTITY列然后创建CLUSTERED索引AND之后我们可以创建NON聚簇索引。
答案 0 :(得分:4)
取决于
关于数据的使用模式和结构。
非聚集索引是否覆盖?
表格中的数据是否在不断变化?
具有覆盖的非聚集索引(或索引)的堆表可以胜过聚簇索引,其中聚簇索引是唯一的“索引”(聚簇索引显然总是覆盖,但对于搜索可能不是最佳的)
请记住,聚集索引不是索引(在基于存储数据的位置的键的查找意义上),它是通过选择索引来组织的整个表。在实际(非群集)索引中,只有键和包含的列包含在索引中,这意味着(通常)每个数据库页面可以存储更多行,并且不必要地读取更少的数据。
大多数表应该有一个聚簇索引,但是非聚集索引的选择是大多数表现来自的地方。