需要帮助加快此查询速度。当p.article IN ('200101')
中只有一篇文章时,查询以0.0006秒运行。如果两篇文章在p.article IN ('200101','200102')
中,则查询在0.6414秒内运行。
由于我需要对大约3000个项目运行此查询,我想加快一点。我认为解决方案是INNER JOIN,但我自己无法弄明白。
SELECT p.article, (
SELECT s.final_item
FROM `structure` s
WHERE s.item = p.article
ORDER BY s.level DESC
LIMIT 1
) AS final_item
FROM products p
WHERE p.article IN ('200101','200102')
答案 0 :(得分:1)
首先,您应该拥有表格产品中的文章索引和表格结构中的项目。
如果给定产品的结构总是至少有一行,您可以尝试一下:
SELECT s.final_item, p.article
FROM `structure` s INNER JOIN products p ON s.item = p.article
WHERE s.article IN ('200101','200102')
ORDER BY s.level DESC
LIMIT 1