select(1)、select(*)、select(列名)区别

效果上

select(*)包括了所有的列,不会忽略null的值

select(1)忽略所有列,1代表表行数,不会忽略null值

count(列名)只包括列名的哪一行,在统计结果的时候,会忽略列值为null的值

执行效率上

若列名为主键,count(列名)会比count(1)快

列名不为主键,count(1)会比count(列名)快


如果表多个列并且没有主键,则 count(1) 的执行效率优于 count()


如果有主键,则 select count(主键)的执行效率是最优的
 

如果表只有一个字段,则 select count()最优。

你可能感兴趣的:(数据库,sql,mysql)