MySQL 보기 쿼리에서 인덱스 사용
문제:
성능 문제가 발생했습니다. 기본 테이블의 인덱스가 뷰 기반에서 사용되지 않기 때문에 MySQL 뷰를 사용합니다.
原因:
MySQL은 외부 쿼리의 필터 조건자(예: WHERE luck_in = 2006)를 뷰 쿼리로 푸시하지 않습니다. 대신, 뷰 결과를 중간 임시 테이블로 구체화하고 이 테이블에 조건자를 적용합니다. 결과적으로 원본 테이블의 인덱스를 효과적으로 사용할 수 없습니다.
해결 방법:
뷰 쿼리에서 인덱스를 활용하려면 다음을 수행할 수 있는 적합한 인덱스를 생성해야 합니다. 보기 쿼리에서 사용됩니다. 이 경우 뷰 쿼리에서 참조하는 모든 컬럼을 포함하는 커버링 인덱스를 권장합니다.
최적 인덱스:
CREATE INDEX highscores_IX3 ON highscores(player, done_in, 점수)
왜요? 작동:
추가 고려 사항:
위 내용은 성능을 향상시키기 위해 MySQL 보기 쿼리에서 인덱스를 어떻게 활용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!