mysql查询行数count(*)、coun(1)、count(primary key)查询效率问题

测试使用的是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语句。

猜你喜欢

转载自blog.csdn.net/wsadzxcleg/article/details/80262911