小编Sco*_*ott的帖子

使用索引提高查询性能

我希望为数据库创建索引以实现更好的性能。我正在使用这个查询:

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 子句经常使用。所以我假设订阅者名称将是一个很好的索引?还有收货日期?

任何提示表示赞赏

mysql index

5
推荐指数
1
解决办法
424
查看次数

标签 统计

index ×1

mysql ×1