我正在对两个表之间的大量记录进行一些查询。仅表格键是自动增量ID。
SELECT
discounts.id,
vendor_number,
discounts.sku,
deal_number,
deal_start_date,
deal_end_date,
sales.cost,
sales.quantity,
sales.invoice_date
FROM
discounts
INNER JOIN
sales ON discounts.sku = sales.sku
WHERE
invoice_date >= deal_start_date
AND invoice_date <= deal_end_date
查询的工作是我确定的日期比较,但我不确定要设置哪种索引以帮助此查询更好地执行。
答案 0 :(得分:1)
where
条件实际上是联接的一部分(假设deal_start_date
和deal_end_date
来自discounts
表。如果是这样,这只是join
优化。最佳索引将首先使用join
,sku
中使用的列(因为相等)。所以,我认为这些都是很好的指标:
sales(sku, invoice_date)
discounts(sku, deal_start_date, deal_end_date)