COUNT() 这么慢,我怎么办?
几种获取总数的方式
- count(*) 会扫描全表,可能会影响性能。 Mysql做了优化,不取值,按行累加
- count(字段) 表示满足条件的数据里,参数"字段"不为NULL的数量
- count(id) 因为主键id不能为空,会按主键行累加
- count(1) innodb遍历整个表,但不取值,返回给server后,server放入一个1,按行累加
按照效率排序的话,count(字段)<count(主键 id)<count(1)≈count(*),所以我建议你,尽量使用 count(*)
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果