count(*)、count(1)与count(列)性能比较,有何差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2060个文字,预计阅读时间需要9分钟。
最近的工作中,我听到组内两名研发同学在讨论数据库统计性能的问题。他们提到,使用count()统计数据时,速度变慢了。他们认为可能是数据库操作出了问题,但还没找到解决办法。
最近的工作中,我听到组内两名研发同学在交流数据统计性能的时候,聊到了以下内容:
数据统计你怎么能用 count() 统计数据呢,count() 太慢了,要是把数据库搞垮了那不就完了么,赶紧改用 count(1),这样比较快......
有点儿好奇,难道 count(1) 的性能真的就比 count(*) 要好吗?
印象中网上有很多的文章都有过类似问题的讨论,那 MySQL 统计数据总数 count(*) 、count(1)和count(列名) 哪个性能更优呢?今天我们就来聊一聊这个问题。
count() 性能与啥相关?
在讨论问题之前,我们需要先搞明白一件事:MySQL 中 count() 的性能到底与什么相关呢?
一件东西,我们知道如何取,必定需要提前知道如何存放才行,那我们可以初步判定,count() 性能应该与存储引擎相关!
我们都知道,MySQL 常见的存储引擎有两种:MyISAM 和 InnoDB。
本文共计2060个文字,预计阅读时间需要9分钟。
最近的工作中,我听到组内两名研发同学在讨论数据库统计性能的问题。他们提到,使用count()统计数据时,速度变慢了。他们认为可能是数据库操作出了问题,但还没找到解决办法。
最近的工作中,我听到组内两名研发同学在交流数据统计性能的时候,聊到了以下内容:
数据统计你怎么能用 count() 统计数据呢,count() 太慢了,要是把数据库搞垮了那不就完了么,赶紧改用 count(1),这样比较快......
有点儿好奇,难道 count(1) 的性能真的就比 count(*) 要好吗?
印象中网上有很多的文章都有过类似问题的讨论,那 MySQL 统计数据总数 count(*) 、count(1)和count(列名) 哪个性能更优呢?今天我们就来聊一聊这个问题。
count() 性能与啥相关?
在讨论问题之前,我们需要先搞明白一件事:MySQL 中 count() 的性能到底与什么相关呢?
一件东西,我们知道如何取,必定需要提前知道如何存放才行,那我们可以初步判定,count() 性能应该与存储引擎相关!
我们都知道,MySQL 常见的存储引擎有两种:MyISAM 和 InnoDB。

