T-SQL에서 ANSI JOIN과 비ANSI JOIN의 성능 차이
T-SQL 저장 프로시저에서는 ANSI가 아닌 JOIN 구문이 항상 일반적이었습니다.
<code class="language-sql">SELECT A.A, B.B, C.C FROM aaa AS A, bbb AS B, ccc AS C WHERE A.B = B.ID AND B.C = C.ID AND C.ID = @param</code>
이를 ANSI-92 JOIN 구문으로 바꾸면 성능이 향상될 수 있다는 추측이 있습니다.
<code class="language-sql">SELECT A.A, B.B, C.C FROM aaa AS A JOIN bbb AS B ON A.B = B.ID JOIN ccc AS C ON B.C = C.ID AND C.ID = @param</code>
동일한가요?
이 특정 예에서는 두 쿼리의 실행이 동일합니다. 그러나 ANSI-92 구문에는 다음과 같은 몇 가지 장점이 있습니다.
ANSI 구문이 아닌 인수
ANSI가 아닌 구문이 SQL을 필터링이 뒤따르는 데카르트 곱으로 개념화하는 데 도움이 된다고 주장하는 사람들도 있습니다. 이 기술은 이해에 도움이 되지만 일반적으로 더 명확하고 표준을 준수하는 기본 ANSI-92 구문을 사용하는 것이 좋습니다. 이 규칙의 유일한 예외는 자연 조인을 사용하는 경우이며, 이는 고유한 위험으로 인해 완전히 피해야 합니다.
위 내용은 T-SQL의 ANSI JOIN과 비ANSI JOIN: 성능 차이는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!