모두 아침
나는 타사 제품 데이터베이스에서 일부 데이터를 '인쇄'하여 자체 사내 응용 프로그램에 표시하기 위해 약간 복잡한 SQL을 작성했습니다.
하위 쿼리 내의 테이블에서 최상위 레코드를 가져 오기 위해 select에 추가했습니다 (그렇다면 말이됩니다)
쿼리를 사용하여 100 분의 최종 결과 집합을 반환하는 데 거의 3 분이 걸렸습니다.
SELECT TOP 1 ...
나는 달성하려는 것에 대한 개선 사항을 온라인으로 보았고 아래처럼 변수를 사용하도록 선택을 변경하는 것이 좋습니다.
DECLARE @topCount INT
SET @topCount = 1
SELECT TOP (@topCount) ...
이것은 3 분에서 1 초까지 동일한 쿼리를 수행했습니다.
그러나 이것이 왜 그런지 설명 할 수 있습니까?
top 1
.