2

查询一:

SELECT COUNT(1) FROM STUDENTS

查询 2:

SELECT COUNT(*) FROM STUDENTS

两个查询都返回相同的结果,但这两者之间有什么性能差异吗?

我听说第一个查询会比第二个查询快,但是任何人都可以提供有关它的具体细节吗?

4

2 回答 2

3

您可以使用count(*)or count(1),一个并不比另一个快。如前所述,这只是一个都市传说:)


最后一点,count(*)可能count(columnName) 会有所不同!
第一个计算所有行数,第二个计算指定列不为 NULL 的行数。

于 2012-08-27T09:13:31.657 回答
1

这两种说法没有任何区别。

更快的谣言count(1)是一个从未成为真实的都市传说。

于 2012-08-27T06:39:36.493 回答