1
我有一个查询,我觉得是非常笨重,可以做与优化。第一件事显然是用联接替换而不是子查询,但它会影响我有的子子查询。我会很感激它的建议/解决方法。MySql查询优化,取代不在子查询加入
这是查询
SELECT *
FROM lastweeksales
WHERE productID = 1234
AND retailer NOT
IN (
SELECT retailer
FROM sales
WHERE productID
IN (
SELECT productID
FROM products
WHERE publisher = 123
)
AND DATE = date(now())
)
基本上,我想要得到的产物,其中零售商不存在是没有销售,但今天的销售只应在产品上受到了一定出版商从过去一周的销售行。
:S:S:S
尽量不要使用'NOT IN'或'IN'因为lastweeksales每一行都会项目,具有性能较差的子表。尝试使用连接来获得你想要的数据 – Neo
@Neo这不正是他所要求的吗? –