【发布时间】:2017-10-26 10:08:20
【问题描述】:
我正在寻求帮助加快这个选择语句。我需要对这个声明做左连接,这导致它真的陷入困境。做一个简单的连接(在任何连接上,尤其是前两个,确实加快了速度)。使用所有 LEFT JOINS 大约需要 33 秒。将前两个中的任何一个更改为常规 JOINS 需要 0.2 秒。将最后一个更改为 JOIN 需要 0.8 秒。这些更快的解决方案中的任何一个都不能提供我需要的所有结果。
SELECT
i.id, i.part_number, v.name, i.description, sum(oi.quantity) as count, i.filename, "0"
FROM
inventory i
LEFT JOIN
order_items_part_numbers o
ON i.id = o.inventory_id
LEFT JOIN order_items oi
ON oi.id = o.order_items_id
LEFT JOIN vendors v
ON v.id = i.vendor_id
WHERE
i.deleted = 0 GROUP BY i.part_number
【问题讨论】:
-
您确定有没有供应商 ID 的库存记录吗?
标签: mysql sql database select join