MySQL 中 SELECT COUNT(1) 和 SELECT COUNT(*) 的区别 - 性能与可读性比较
在实际使用中,'select count(*)' 和 'select count(1)' 的效果是一样的,都是统计数据表中的行数。但是在一些特殊情况下,两者的效果可能会有所不同。
- 性能方面:
'select count()' 会对表中的每一行进行计数,而 'select count(1)' 会对每一行都赋值为 1,然后再进行计数。因此,'select count(1)' 的性能稍微比 'select count()' 略好一些,因为赋值操作比计数操作要快。
- 可读性方面:
'select count(1)' 的意思是统计结果集中的每一行数据,所以在可读性方面更加直观。而 'select count(*)' 虽然也可以实现同样的效果,但是更多的是在统计数据表中所有的行数。
综上所述,'select count(1)' 和 'select count(*)' 的区别并不大,但是从性能和可读性方面考虑,建议使用 'select count(1)'。
原文地址: https://www.cveoy.top/t/topic/ne4P 著作权归作者所有。请勿转载和采集!