團隊 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 …。


