我希望为数据库创建索引以实现更好的性能。我正在使用这个查询:
SELECT DISTINCT t1.* FROM current_order
AS t1 LEFT JOIN
receipt AS t2 USING (paper_id,subscriber_id)
WHERE t2.id NOT IN (SELECT id
FROM receipt WHERE paid_till_date > Now())
UNION
SELECT current_order.* FROM receipt RIGHT JOIN
current_order USING (paper_id, subscriber_id)
Where receipt.id IS NULL ORDER BY
subscriber_id, paper_id
Run Code Online (Sandbox Code Playgroud)
表是:
PAPER
id
name
SUBSCRIBER
id
name
address
suburb
state
postcode
round_id
CURRENT ORDER
paper_id
subscriber_id
ROUND
id
name
paperboy
RECEIPT
id
receipt_date
paid_till_date
paper_id
subscriber_id
Run Code Online (Sandbox Code Playgroud)
我知道主键已经被索引,我应该使用一个索引,其中 WHERE 子句和 ORDER BY 子句经常使用。所以我假设订阅者名称将是一个很好的索引?还有收货日期?
任何提示表示赞赏