北京JAVA基础面试30天打卡12
1.MySQL中count(*)、count(I)和count(字段名)有什么区别?
1**.COUNT ()**是效率最高的统计方式:COUNT()被优化为常量,直接统计表的所有记录数,不依赖字段内容,开销最低。推荐在统计整个表的记录数时使用。
2.**COUNT(1)**效率接近COUNT()参数1也被视为常量,不会读取字段内容,但由于少了特定优化,效率略低于COUNT()
3.**COUNT(主键字段)效率较高但略逊于。遍历聚簇索引读取主键字段,/O成本略高。
4COUNT(字段名)**开销最大:需要读取字段值并判断是否为NULL,尤其在字段较多或记录校大时,性能较差。适用于统计特定字段非空值的场景。