count(*) count(1)哪個(gè)更快?
發(fā)布日期:2025-06-17 23:55:12 瀏覽次數(shù):600
團(tuán)隊(duì) code review 時(shí),一位同事把 count(*)改成了 count(1),說(shuō)這樣性能更好。
真的是這樣嗎?今天通過(guò)源碼和實(shí)測(cè)數(shù)據(jù),把這個(gè)問(wèn)題說(shuō)透。
本文基于 MySQL 8.0.28 版本測(cè)試,不同版本的優(yōu)化器行為可能有差異 三種 count 方式的本質(zhì)區(qū)別先看看這三種寫(xiě)法在 MySQL 中到底做了什么: // 模擬MySQL處理count的偽代碼 public class CountProcessor { // count(*) 的處理邏輯 public long countStar(Table table) { long count = 0; for …。
