Sql server 中count(1) 与 sum(1) 那个更快?

 

  上一篇中,简单的说明了下 count() 与 sum() 的区别,虽然count 函数是汇总行数的,不过我汇总行数的时候经常是使用sum(1) ,那么问题来了,count(1) 与 sum(1)  那个更快?

让我们比较sum和count的性能:示例使用的是sql server 官方示例数据库

use adventureworks2014
go
set statistics io on
go
-- use of sum -- original query
select sum(case when salesorderid > 50 then 1 else 0 end)
from [sales].[salesorderdetail]
where productid > 750
go
-- use of count -- new proposed query
select count(case when salesorderid > 50 then 1 else 0 end)
from [sales].[salesorderdetail]
where productid > 750
go

下面是执行计划的对比图:

 

您可以看到执行计划完全相同且完全相同。

让我们看看统计数据的输出。

可以观察到io读取完全相同。

 

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐