집 >데이터 베이스 >MySQL 튜토리얼 >외래 키가 쿼리 속도를 높이나요?
외래 키 및 쿼리 성능
외래 키는 참조 무결성을 강화하는 데 중요한 역할을 하지만 쿼리 성능에 미치는 영향을 오해하는 경우가 많습니다. 일반적인 믿음과는 달리 외래 키 자체는 쿼리 성능을 크게 향상시키지 않습니다.
제공된 시나리오에서 쿼리는 CategoryId 필드를 조인 조건으로 사용하여 두 테이블, Products 및 ProductCategories를 조인합니다. 외래 키 관계에도 불구하고 쿼리 계획은 Products 테이블에 대한 클러스터 인덱스 검색을 표시합니다. 이는 SQL Server가 외래 키를 기반으로 인덱스를 자동으로 생성하지 않기 때문입니다.
이 쿼리의 성능을 향상하려면 Products.CategoryId 필드에 인덱스를 명시적으로 생성해야 합니다. 인덱스를 생성한 후 실행 계획은 두 테이블 모두에 인덱스 탐색을 표시하여 예상 하위 트리 비용을 크게 줄입니다.
따라서 제기된 질문에 대한 답변은 다음과 같습니다.
외래 키를 사용하면 쿼리 성능이 향상되나요?
모든 테이블의 모든 FK 열에 인덱스를 생성해야 합니까?
위 내용은 외래 키가 쿼리 속도를 높이나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!