在实际使用中,select count(1)select count(*) 基本等价,都是用来统计行数的。不过,有以下几点不同:

  1. 效率上,select count(1) 的效率会稍微高一些,因为不需要对具体的列进行计算,只需要判断是否有值即可。

  2. select count(*) 会统计所有列,而 select count(1) 只统计第一个列。如果表中有大量的列,使用 select count(*) 可能会增加一些额外的计算时间和内存消耗。

  3. 在某些特殊情况下,使用 select count(1) 可能会更准确。例如,如果表中有一列包含了 NULL 值,使用 select count(*) 会统计所有行数,包括 NULL 值,而使用 select count(1) 则不会统计 NULL 值。

因此,一般来说,建议使用 select count(1) 来统计行数。

SQL Count(1) vs Count(*) - 效率与准确性比较

原文地址: https://www.cveoy.top/t/topic/ne4N 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录