これに似たクエリがあり、特定の顧客が時間枠内に行ったトランザクションの数を見つける必要があります。
select customer_id, count(transactions)
from transactions
where customer_id = 'FKJ90838485'
and purchase_date between '01-JAN-13' and '31-AUG-13'
group by customer_id
テーブル transactions は、customer_id ではなく、transaction_id という別のフィールドでインデックス化されています。Customer_ID は文字型で、transaction_id は数値です。
「accounting_month」フィールドもインデックス化されています。このフィールドには、トランザクションが発生した月が格納されるだけです。
トランザクション テーブルには、'01-JAN-13' と '31-AUG-13' からの時間枠で約 2000 万のレコードがあります。
上記のクエリを実行すると、戻ってくるまでに 40 分以上かかりました。アイデアやヒントはありますか?