programing

MySQL 보기가 일반 쿼리보다 빠릅니까?

lovejava 2023. 9. 21. 19:59

MySQL 보기가 일반 쿼리보다 빠릅니까?

많은 조인(실제로 8개)을 사용하는 복잡한 쿼리가 있습니다.저는 그것을 전망으로 단순화하려고 생각하고 있었습니다.약간의 연구 끝에 간편함과 보안 면에서 이점을 확인할 수 있습니다.하지만 속도에 대해서는 전혀 언급하지 않았습니다.

보기는 쿼리가 미리 컴파일된 준비된 문장처럼 작동합니까?뷰를 사용함으로써 눈에 띄는 성능 향상이 있습니까?

아니요, 보기는 단순히 저장된 텍스트 쿼리입니다.신청가능합니다WHERE그리고.ORDER그것에 반하여, 그 실행 계획은 그 조항들을 고려하여 계산될 것입니다.

뷰는 기본적으로 저장된 하위 쿼리입니다.기본적으로 다음과 같은 차이점은 없습니다.

SELECT *
FROM someview

그리고.

SELECT *
FROM (
    SELECT somestuff 
    FROM underlying table
);

하지만 보기가 좀 더 휴대성이 뛰어나기 때문에 반환되는 데이터를 사용할 때마다 기본 쿼리를 작성할 필요가 없습니다.

가끔은 도움이 될 수도 있지만 절대로 도움이 될 수는 없습니다.뷰 헬프 퍼포먼스를 본 적이 있지만, 그것이 상처를 주는 것도 봤습니다.보기는 강제로 구체화할 수 있으며, MySQL이 사용자에게 적합한 액세스 경로를 선택하지 않을 경우 때로는 더 나은 액세스 경로를 제공할 수 있습니다.

언급URL : https://stackoverflow.com/questions/4789332/is-a-mysql-view-faster-than-a-normal-query