에 비해에서 (선택)와 하위 쿼리입니다. (예 : 600 문자열). 내가 경로의이 목록을 사용하고왜이 같은 쿼리를 빠르게 ('XX', 'XX'..)
Select *
From FOLDER
WHERE FOLDER.PATH IN ('path1','path2' [...])
와 다른 요청 나중에 수행 할 때
이 30 초 이상 걸릴 수 있습니다.
내가이 쿼리를 수행 할 때 :
Select *
From FOLDER
WHERE
FOLDER.PATH IN (Select PATH
from FOLDER
where
...)
그것은 1 초 미만이 걸릴.
SQL Server가 쿼리를 수행하고 Join을 수행합니까?
this post의 경우 왜 JOIN을 사용하여 쿼리를 변경 하시겠습니까?
게일 쇼 (Gail Shaw)는이 주제에 대해 훌륭한 기사를 갖고 있습니다. https://www.sqlinthewild.co.za/index.php/2010/01/12/in-vs-inner-join/ –