1

重複の可能性:
SQL では、count(column) と count( ) の違いは何ですか?
Count(
) vs 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

クエリ プランは同じように見えますが、テストでは、* を使用した方が (わずかに) 高速です。

ただし、列名を指定する場合、null は考慮されません。

于 2012-01-13T15:26:14.617 に答える