相关疑难解决方法(0)

在大表上加速 Count(*)

我们正在使用在 SQL Server Enterprise 上运行的供应商应用程序,它COUNT在处理大多数财务文档(订单、发票等)时在 Items 表上执行语句有一个相当烦人的怪癖。

例如 SELECT COUNT('A') FROM [dbo].[Items] T0

我相信这通常没问题,但是有超过 600 万条记录,并且需要大约 400 毫秒来计算它们。这可能构成整个处理时间的很大一部分。

该表已经有一个非常窄的非聚集索引(tinyint,加上聚集键),这是 SQL 在执行表扫描时使用的,所以我认为我们在这方面不能做得更好。

我知道有一些解决方案,如果可能,我们希望避免:

我们还有其他选择可以加快速度吗?

这是显示设置的要点:https : //gist.github.com/elvishfiend/5094f120b14f8ecfb325623edcb5f3eb

sql-server count sql-server-2012

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

count ×1

sql-server ×1

sql-server-2012 ×1