非常に単純な SQL クエリがあります:
SELECT COUNT(DISTINCT x) FROM table;
私のテーブルには約150万行あります。このクエリはかなり遅く実行されており、約7.5秒かかります。
SELECT COUNT(x) FROM table;
これには約 435 ミリ秒かかります。パフォーマンスを向上させるためにクエリを変更する方法はありますか? グループ化と通常のカウント、および x にインデックスを付けることを試しましたが、どちらも実行時間は 7.5 秒で同じです。
ベストアンサー1
これを使用することができます:
SELECT COUNT(*) FROM (SELECT DISTINCT column_name FROM table_name) AS temp;
これは以下よりもはるかに高速です:
COUNT(DISTINCT column_name)