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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM