最近想深入学习SQL,在网上搜索到一些SQL 优化的资料要么是张冠李戴,Oracle 优化的资料硬是弄成啦MS SQL 优化的资料,而且被很多人转载,收藏,有些要么有些含糊不清,好像是那么回事,也没经过验证,实践出真知!下面是我对SELECT COUNT(*),SELECT COUNT(1),SELECT COUNT (0), SELECT COUNT(Field)等孰优孰劣的测试结果,如果测试方法有什么不足,也希望大家给点建议。
首先我们来看看测试的机器、以及开发环境吧:双核处理器 T6670 2G DDR2的内存 数据版本如下图所示:
然后建一个简单的测试表
代码
CREATE TABLE Employee
(
[EmployeeID] INT IDENTITY(1,1), --雇员ID
[EmployeeName] NVARCHAR(20), --雇员姓名
[SEX] BIT, --性别
[Department] NVARCHAR(20), --部门
&nb
(
[EmployeeID] INT IDENTITY(1,1), --雇员ID
[EmployeeName] NVARCHAR(20), --雇员姓名
[SEX] BIT, --性别
[Department] NVARCHAR(20), --部门
&nb

本文通过实验对比了SQL中SELECT COUNT(*)、COUNT(1)、COUNT(0)和COUNT(Field)的性能差异,揭示了在SQL Server环境下执行效率的排序,并探讨了可能的原因。测试结果显示,COUNT(EmployeeName)的执行速度最快,其次是COUNT(0)和COUNT(1),最慢的是COUNT(*)。实验数据基于多次执行的平均值,但作者对于某些结论的深层次原因仍存疑惑,期待进一步研究和讨论。
最低0.47元/天 解锁文章
498





