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

2019-05-13  本文已影响0人  cli1871

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


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

测试结论如下:

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

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

加索引显著快于不加索引

主键索引快于普通索引

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

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

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


总结:

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

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

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

上一篇下一篇

猜你喜欢

热点阅读