집 >데이터 베이스 >MySQL 튜토리얼 >외래 키는 SQL Server의 쿼리 성능에 어떤 영향을 줍니까?
외래 키 및 쿼리 성능
이 문서에서는 데이터베이스 쿼리 최적화에서 외래 키(FK)의 역할을 조사합니다.
쿼리 성능 분석
CategoryId를 기준으로 Products와 ProductCategories라는 두 테이블을 조인하는 쿼리를 생각해 보세요. 쿼리는 ProductCategories 테이블에 대해 예상되는 Clustered Index Seek를 반환하는 동안 Products 테이블에 대해 Clustered Index Scan을 수행합니다. FK가 Products 테이블의 쿼리 성능을 향상시키지 못하는 이유는 무엇입니까?
성능을 향상시키기 위해 Products.CategoryId 열에 인덱스가 생성되었습니다. 후속 실행 계획 분석에서는 이제 두 테이블 모두 인덱스 탐색을 수행하고 예상 하위 트리 비용이 크게 감소한 것으로 나타났습니다.
쿼리 최적화에서 FK의 역할
FK는 주로 다음 역할을 합니다. 관계 집행자는 쿼리 성능을 직접적으로 향상시키지 않습니다. SQL Server에서 FK는 기본적으로 연결된 인덱스를 생성하지 않습니다. 최적의 성능을 위해서는 FK 열에 인덱스를 명시적으로 정의해야 합니다.
FK 열 인덱싱
조회 시간을 최적화하려면 전체 FK 열에 인덱스를 생성하는 것이 좋습니다. 효율적인 데이터 검색을 보장하고 이러한 관계에 의존하는 쿼리 비용을 절감합니다.
위 내용은 외래 키는 SQL Server의 쿼리 성능에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!