1

可能重复:
在 SQL 中,count(column) 和 count() 有什么区别
计数(
)与计数(1)

我有一张大桌子,可以保存长文本,例如电子邮件内容或新闻。我的问题是计算表行的性能有什么不同:

SELECT COUNT(*) FROM table_name

SELECT COUNT(t.id) FROM table_name as t

哪一个更好?或者后一个将由查询优化器优化?有这方面的文件吗?

4

2 回答 2

2

它们是不同的。

COUNT(*)将检索所有值(甚至NULL值计数)。 COUNT(t.id)不计算NULL值。


在性能方面,它们是相同的(查询优化器很聪明)。

于 2012-01-13T15:23:44.680 回答
1

查询计划看起来一样,但在测试中,使用 * 更快(稍微)。

但是,在指定列名时没有考虑空值。

于 2012-01-13T15:26:14.617 回答