欢迎投稿

今日深度:

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

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读取完全相同。

 

www.htsjk.Com true http://www.htsjk.com/Sql_Server/31003.html NewsArticle Sql server 中count(1) 与 sum(1) 那个更快?, 上一篇中,简单的说明了下 count() 与 sum() 的区别,虽然count 函数是汇总行数的,不过我汇总行数的时候经常是使用SUM(1) ,那么问题来了,count...
相关文章
    暂无相关文章
评论暂时关闭