测试使用的是mysql官方提供的测试数据,是在mysql官网进行下载的(不是mysql安装默认的employees数据库),其中有一个employees表,里面是有
300024条数据,约等于30万条数据。
employees表的结构:
'emp_no', 'int(11)', 'NO', 'PRI', NULL, ''
'birth_date', 'date', 'NO', '', NULL, ''
'first_name', 'varchar(14)', 'NO', '', NULL, ''
'last_name', 'varchar(16)', 'NO', '', NULL, ''
'gender', 'enum(\'M\',\'F\')', 'NO', '', NULL, ''
'hire_date', 'date', 'NO', '', NULL, ''
测试:
select count(1) from employees;
进行5次查询后的结果如下
select count(*) from employees;
进行5次查询后的结果如下
select count(emp_no) from employees;
进行5次查询后的结果如下
这三个进行对比,在查询时间上没有太大的区别。但是可以表结构不同的情况下,可能还是有一些区别的。我们要针对不同的表结构写出最优的sql语句。