【发布时间】:2015-10-29 15:25:59
【问题描述】:
我有一些表,其中两个有大约 100 万条记录。在一个过程中,我使用了这些表,它需要大约 5-10 分钟来获取大约 25,000 行。
我创建了一些聚集索引和非聚集索引,执行计划显示都是聚集索引查找或非聚集索引查找。但该过程仍然需要 5 分钟以上的时间才能执行。
所以我尝试创建列存储索引,但仍然没有改进。
各位,谁能给我建议。我需要如何创建索引以及哪个更好的列存储或普通聚集/非聚集索引
【问题讨论】:
-
“生产”是什么意思?存储过程做什么(选择/插入)?执行计划是什么?对于 5M 行,5 分钟将是 long 时间,而不是 25K。如果存储过程在循环或游标中逐行处理,则创建列存储索引不会使存储过程运行得更快
-
简单地说,没有任何线索是不可能提供帮助的。您至少需要发布存储过程代码和执行计划。
-
该程序没有任何循环或光标。它只有一些插入和选择语句。发布查询或执行计划有一些问题我会在与经理讨论后尝试发布执行计划。
-
对于类似大小的表,您是否具有与其他类似查询类似的性能水平?如果是这样,您可能只是资源受限,可能是在存储级别,甚至可能是内存。当您确定是否可以共享有关查询和执行计划的更多详细信息时,请查看该 SQL Server 实例的可用资源和消耗资源。
标签: sql-server indexing sql-server-2014 clustered-index columnstore