MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
在 MySQL 中,count(*)、count(1) 和 count(字段名) 有什么区别?
推荐答案
在 MySQL 中,count(*)
、count(1)
和 count(字段名)
有以下区别:
- count(*):统计所有行,包括 NULL 值。
- count(1):统计所有行,通常用于优化器的提示,但实际效果与
count(*)
相同。 - count(字段名):统计指定字段不为 NULL 的行数。
选择合适的计数方式可以优化查询性能。