你亲身接触过的日本人的印象是怎样的?
有个自闭症的孩子,该放弃吗?
猫那么爱干净,却为什么不喜欢洗澡?
网传《碟中谍 8》亏损可能超 14 亿,是真的吗?这背后的原因是什么?
公司规定所有接口都用 post 请求,这是为什么?
Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?

count(*) count(1)哪个更快?

发布日期:2025-06-19 15:15:13 浏览次数:0

团队 code review 时,一位同事把 count(*)改成了 count(1),说这样性能更好。

真的是这样吗?今天通过源码和实测数据,把这个问题说透。

本文基于 MySQL 8.0.28 版本测试,不同版本的优化器行为可能有差异 三种 count 方式的本质区别先看看这三种写法在 MySQL 中到底做了什么: // 模拟MySQL处理count的伪代码 public class CountProcessor { // count(*) 的处理逻辑 public long countStar(Table table) { long count = 0; for …。

count(*)  count(1)哪个更快?