I 두 개 테이블을 조인했습니다. 각 테이블에는 5000 개가 넘는 레코드가 들어 있습니다. 나는 두 가지 방법으로 참여했습니다. 첫 번째 쿼리에서는 JOIN 키워드를 사용하고 ON 조건에서 조건을 부여했습니다. 두 번째 쿼리에서 방금 테이블 사이에 쉼표 연산자를 사용하고 WHERE 절에 조인 조건을 부여했습니다.SQL Server 성능?
시간과 비용면에서 어느 것이 효과적일까요 ....?
난 (INNER JOIN을) 제 2 질의가 테이블 SCAN 31 %를 69 % 선정했다
먼저 쿼리 테이블 SCAN 61 %의 비용 해시 MATCH 38 %로했다 실행 계획으로 보면 해시 일치 (내부 결합).
이 차이점을 설명해 주시겠습니까?
첫 번째 테이블이 효과적이라고 가정하면 테이블 스캔 비용이 적기 때문입니다. 맞아...?
이 질문은 관련 필드가 색인 표 중 하나 또는 모두에서 색인화되었는지 여부와 색인의 성격을 나타내는 데는 의미가 없습니다 – AnthonyWJones
첫 번째 조회가 표 스캔을 수행합니다 - 가능하면 표의 외래 키를 비표준으로 설정해야합니다 -clustered 인덱스. 그러면 쿼리는 인덱스 스캔을 수행해야합니다. – Paul