我有一些表,其中两个有大约100万条记录。在一个程序中,我正在使用这些表,并且需要大约5-10分钟才能获取大约25,000行。
我创建了一些聚簇索引和非聚簇索引,执行计划显示所有聚簇索引搜索或非聚簇索引搜索。但该程序仍需要5分钟以上才能执行。
所以我尝试创建列存储索引,但仍然没有改进。
伙计们,任何人都可以就此提出建议。我如何创建索引以及哪一个更好的列存储或普通的聚簇/非聚簇索引
答案 0 :(得分:1)
列存储索引是否是个好主意取决于表/数据库的用途。 columnstore旨在用于数据仓库中的大型事实表。它不是为OLTP或任何其他操作数据库构建的。如果您正在使用数据仓库,群集列存储通常是一个好主意,虽然我认为它的设计超过一百万个,但我认为它仍然可以正常工作,您还应该从改进的压缩中获益。 / p>
对于OLTP或混合使用,您可能只想专注于索引。查看查询计划和statistics io
输出以查看导致缓慢的原因,如果您没有弄清楚可能出现的问题,请编辑帖子或者询问一个新的帖子,其中包含有关表,索引和详细信息的详细信息。查询计划。
在查询计划中要查看的典型事项是索引扫描和排序&大量行的键查找。由于您正在处理数百万行,因此还可能存在线轴或溢出到临时数据库中导致速度变慢。