我不是sql的专家,我需要以下查询的帮助。它很差,执行时间也很长。 是否有可能用JOIN()
替换IN()
以加快查询速度? 如何做到这一点?Mysql查询优化不佳
SELECT *
FROM shop_orders
WHERE id IN (SELECT orders_id
FROM shop_orders_data
WHERE closed = '1' /*AND backorder='0'*/)
AND id IN (SELECT orders_id
FROM shop_orders_products
WHERE products_id IN (SELECT id
FROM shop_products
WHERE artno = '120000'
OR name LIKE '%120000%'))
ORDER BY created DESC
是的,这是可能的。 –
尝试添加您的表格结构和关键关系到您的文章(并接受您以前的问题的答案)。 – Crontab