use pubs; go set statistics time on; go select COUNT(1) from dbo.authors; go select COUNT(*) from dbo.authors; go select COUNT(au_id) from dbo.authors; --au_id是主键 go set statistics time on; go /*结果 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。(1 行受影响) SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。(1 行受影响) SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。(1 行受影响) SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 */
一般没什么区别,但在group by 中使用就有区别了 1. select COUNT(1) from dbo.Project group by ProjectID 2. select COUNT(*) from dbo.Project group by ProjectID 3. select COUNT(ProjectID) from dbo.Project group by ProjectID第一种是对第一列进行计量,如果有为null的,则不计数 第二种不考虑任何情况,包括本列有空的记录也进行计数第三种有些类似第二种,ProjectID为空的记录会专门分组,所以除非是统计为空的这组, 其他的任何组的统计结果都和第二种相同
use pubs;
go
set statistics time on;
go
select COUNT(1) from dbo.authors;
go
select COUNT(*) from dbo.authors;
go
select COUNT(au_id) from dbo.authors; --au_id是主键
go
set statistics time on;
go
/*结果
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。(1 行受影响) SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。(1 行受影响) SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。(1 行受影响) SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
SQL Server 分析和编译时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
*/
1. select COUNT(1) from dbo.Project group by ProjectID
2. select COUNT(*) from dbo.Project group by ProjectID
3. select COUNT(ProjectID) from dbo.Project group by ProjectID第一种是对第一列进行计量,如果有为null的,则不计数
第二种不考虑任何情况,包括本列有空的记录也进行计数第三种有些类似第二种,ProjectID为空的记录会专门分组,所以除非是统计为空的这组,
其他的任何组的统计结果都和第二种相同