我有一个与此类似的查询,我需要在其中找到特定客户在某个时间范围内的交易数量:
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' 字段也被编入索引。该字段仅存储交易发生的月份...即,purchase_date = '03-MAR-13' 将具有 accounting_month = '01-MAR-13'
事务表在 '01-JAN-13' 和 '31-AUG-13' 的时间范围内有大约 2000 万条记录
当我运行上述查询时,花了 40 多分钟才回来,有什么想法或提示吗?