只是想知道你们中的任何一个人是否Count(1)过度使用过Count(*),如果性能有显着差异,或者这只是从过去几天带来的遗留习惯?
(具体数据库是SQL Server 2005.)
我经常发现这三种变体:
SELECT COUNT(*) FROM Foo;
SELECT COUNT(1) FROM Foo;
SELECT COUNT(PrimaryKey) FROM Foo;
Run Code Online (Sandbox Code Playgroud)
据我所知,他们都做同样的事情,我发现自己在我的代码库中使用了三个.但是,我不喜欢以不同的方式做同样的事情.我应该坚持哪一个?他们中的任何一个比其他两个更好吗?
假设表中存在主要字段"id"(如速度等),以下查询之间是否存在差异?
SELECT COUNT(id)
FROM table
Run Code Online (Sandbox Code Playgroud)
与
SELECT COUNT(*)
FROM table
Run Code Online (Sandbox Code Playgroud)