最近想深入学习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 ), -- 部门
CONSTRAINT [ PK_Employee_ID_Name ] PRIMARY KEY (EmployeeID, EmployeeName)
)
-- 插入一百万数据
(
[ EmployeeID ] INT IDENTITY ( 1 , 1 ), -- 雇员ID
[ EmployeeName ] NVARCHAR ( 20 ), -- 雇员姓名
[ SEX ] BIT , -- 性别
[ Department ] NVARCHAR ( 20 ), -- 部门
CONSTRAINT [ PK_Employee_ID_Name ] PRIMARY KEY (EmployeeID, EmployeeName)
)
-- 插入一百万数据