首页 > 代码库 > mysql中使用count()统计的特殊之处

mysql中使用count()统计的特殊之处

如果你的需要是统计总行数时,为什么要使用count(*),而避免使用指定具体的列名?

count()函数里面的参数是列名的的时候,那么会计算有值项的次数。也就是,该列没有值的项并不会进入计算范围。
这样的话,你想统计的行数并不准确。更重要的是,还会增加消耗。因为,需要判断扫描所有行才知道值是否有值。

如果使用count(*),它会计算总行数。不管你是否有值都会列入计算范围。另外一点:mysqlisam引擎很容易获得总行数的统计。查询速度变得更快

归纳:实际编程中统计总行数是经常用到的。此时使用count(*)多处可见。我很少看到有人使用列名作为参数:count(a)的情况。即使是这样使用,可能其初衷也是想统计行数。只是不知道这

样所造成的细微差异而错误使用了"列名"的形式。