这是今天在微博的一个人发的,有人@我了,我就做了一个,看一下吧,

mysql count(*)和count(id) id为主键

两次结果相差如此直大。。。。

我一般都会用count(*) 因为它走主键索引,但是count(C)则不一定,

 

我要说一下sql缓存

mysql count(*)和count(id) id为主键

可以看到缓存是开启的,但是大小为0,我后来修改了

mysql count(*)和count(id) id为主键

后来我证明这两个不会走查询缓存,因为只有sql一样的时候才会走缓存

mysql count(*)和count(id) id为主键

可以看到走缓存的次数并没有增加,那么是什么导致了前后两次相差那么大呢

mysql count(*)和count(id) id为主键

mysql count(*)和count(id) id为主键

我们先看一下他们走的索引;

mysql count(*)和count(id) id为主键

 

索引走的一样,那么我们看一下profile的记录,就会发现区别。

mysql count(*)和count(id) id为主键

 

mysql count(*)和count(id) id为主键

 

这两个时间的差距,我也只能写到这了,上班了。。请各位补充

 

相关文章:

  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2021-11-11
  • 2021-10-02
  • 2022-12-23
  • 2021-07-31
  • 2021-11-29
猜你喜欢
  • 2021-07-25
  • 2021-10-02
  • 2021-11-06
  • 2021-07-21
  • 2021-10-02
  • 2022-12-23
相关资源
相似解决方案