이 쿼리의 속도 향상에 도움이 필요합니다. p.article IN ('200101')
에 기사가 하나만 있으면 쿼리가 0.0006 초 내에 실행됩니다. 두 개의 기사가 p.article IN ('200101','200102')
인 경우 쿼리는 0.6414 초 내에 실행됩니다.여러 IN에 대한 mysql 하위 쿼리 최적화
약 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')
당신이'structure.item'에 인덱스를해야합니까 : 당신은 항상 특정 제품에 대한 구조에 하나 이상의 행이있는 경우
, 당신이 시도를 줄 수 있을까? – Barmar
@Barmar 예 제가 가지고 있습니다 – mend
왜 3000 번 쿼리를 실행해야합니까? 주어진 질의가 질의 1이라면, query2는 어떻게 생겼을까요? – Lennart