mysql select count() 效率比较与分析 Myisam engine

count 有count(*), count(1) 和count(具体字段)三种,那种效率更快,表中有主键或者索引的情况下又如何呢,下面给出总结性的结论供大家参考。


首先明确一点,执行时只会使用一个索引。

测试结论如下:

count(*)和count(1)无任何差别,永远优于count其他字段,无论加不加任何索引

count()里面的值可取任意值,与结果无关

加索引显著快于不加索引

主键索引快于普通索引

没有索引时,与列含不含空值无关

count选取的列上如果有就用自己的索引,没有则使用默认索引

(取首个添加的索引,即使存在主键)


总结:

只要存在普通索引,count就会使用普通索引, 

只存在主键时,count(*)和或ount(1)会使用主键索引,其他字段不会

count(*)和或ount(1)最快

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容