相关疑难解决方法(0)

为什么多个 COUNT 比使用 CASE 的一个 SUM 快?

我想知道以下两种方法中哪一种更快:

1) 三COUNT

 SELECT Approved = (SELECT COUNT(*) FROM dbo.Claims d
                  WHERE d.Status = 'Approved'),
        Valid    = (SELECT COUNT(*) FROM dbo.Claims d
                    WHERE d.Status = 'Valid'),
        Reject   = (SELECT COUNT(*) FROM dbo.Claims d
                    WHERE d.Status = 'Reject')
Run Code Online (Sandbox Code Playgroud)

2)SUM带 -FROM子句:

SELECT  Approved = SUM(CASE WHEN Status = 'Approved' THEN 1 ELSE 0 END),
        Valid    = SUM(CASE WHEN Status = 'Valid'    THEN 1 ELSE 0 END),
        Reject   = SUM(CASE WHEN Status = 'Reject'   THEN 1 ELSE …
Run Code Online (Sandbox Code Playgroud)

performance sql-server-2005 sql-server t-sql

14
推荐指数
1
解决办法
4298
查看次数

标签 统计

performance ×1

sql-server ×1

sql-server-2005 ×1

t-sql ×1