SELECT
a.*,
b.food_name,
d.`name`
FROM
a
LEFT JOIN b ON a.number = b.order_number
LEFT JOIN c ON b.order_number = c.number
LEFT JOIN d ON c.store_id = d.id
WHERE
a.hide = 0
AND a.deleted_at IS NULL
AND a.wid = 1996
GROUP BY
a.id
ORDER BY
a.id DESC
LIMIT 5
此时 where 条件中 AND a.wid = 1996 , b表就全表扫描了
如果我换成 AND b.wid = 1996
这是为啥啊
b 是一个大表
a.number 可能会对应 b 表的多条