4

私はMySQLを使用してCOUNT(*)おり、一般的により高速な数回読んだことがありCOUNT(Column)ます。

ただし、個別の行を取得する必要がCOUNTあります。私が理解していることから、私はこれを2つの異なる方法で行うことができます。

a) SELECT COUNT(DISTINCT Column) ...

また

b) SELECT COUNT(*) ... GROUP BY Column

一般的に、どちらが速いですか?それが依存する場合、それは何に依存ますか?

4

1 に答える 1

5

SELECT COUNT(*) FROM table GROUP BY columnグループの数ではなく、列でグループ化された値ごとに行数を返します。

SELECT COUNT(DISTINCT column) FROM tableグループの数を返します(ただし、GROUP BYクエリの行数を使用してこれを取得することもできます)。

于 2013-01-09T21:17:51.640 に答える