サーバー上の完全なテーブルスキャンに約 2 分 (150 mio データセット) かかる大きなテーブルがあります。
このテーブルには、1 年のそれぞれの日の販売トランザクションが保持されます。日付順にインデックスされています。
月に少なくとも 1 つのデータセットが存在する場合、各月の情報を取得する効率的な方法を探しています。
通常、私は次のようにします:
select month, count(*)
from transaction_table
group by month
これには時間がかかりすぎます。
クエリは、各月のすべてのデータセットをカウントする必要はありません。毎月少なくとも 1 つのデータセットが存在するかどうかを確認する必要があるだけです。
単一のクエリでこれを行うより効率的な方法はありますか?