programing

표 성능 대보기

elecom 2023. 8. 31. 23:39
반응형

표 성능 대보기

최근에 모든 테이블에 대한 보기를 만드는 규칙이 있는 데이터베이스 작업을 시작했습니다.테이블과 뷰 사이에 일대일 매핑이 있다고 가정할 경우, 이러한 작업이 성능에 미치는 영향을 알려줄 수 있는 사람이 있는지 궁금합니다.그나저나, 이건 오라클에 관한 거예요.

질문이 구체화되지 않은 보기에 대한 것이라고 가정합니다. 보기가 기반으로 하는 쿼리와 해당 보기에 수행되는 작업에 따라 다릅니다.최적화 도구를 사용하여 술어를 보기 쿼리로 밀어넣을 수도 있습니다.그렇지 않다면, 테이블 자체에 대항하는 것만큼 좋지는 않을 것입니다.뷰는 테이블 위에 구축됩니다. 성능이 더 좋을 것이라고 예상하는 이유는 무엇입니까?

보기를 다른 보기 위에 작성하는 계층화 보기는 실행 시간까지 문제에 대해 알지 못하기 때문에 좋지 않은 방법입니다.또한 계층화된 보기에서 술어 푸시가 발생할 가능성이 적습니다.

보기는 또한 업데이트할 수 있습니다. 다른 사용자가 기본 테이블에 대한 INSERT/UPDATE/DELETE 권한을 가진 경우 보기는 리소스에 대한 액세스를 제한하는 신뢰할 수 있는 수단이 아닙니다.

구체화된 보기는 테이블만큼 좋지만 지원하는 것이 제한적인 것으로 악명 높습니다.

당신은 당신이 무엇을 하고 있는지 설명하지 않나요?표가 있는 1:1은 보기보다 보기를 동의어처럼 사용하는 것처럼 들립니다.IOW, 보기 = "SELECT * FROM table"이면 하드 파싱을 제외하고는 성능이 저하되지 않습니다.

다른 테이블에 가입하거나 술어 푸시를 방지하는 필터 절을 배치하는 경우, 때때로 큰 히트를 보게 될 것입니다.

DB 링크를 통한 분산 쿼리가 유일한 문제입니다.로컬 최적화 도구는 원격 개체에 대한 세부 정보를 가져오지만 보기에는 인덱스에 대한 정보가 없으므로 멋진 계획을 얻을 수 있습니다.

뷰의 열을 쉽게 '재주문'할 수 있기 때문에 표준으로 사용하는 곳도 있다고 들었습니다.YMMV에 의한 내 생각에는 큰 이점이 없습니다.

언급URL : https://stackoverflow.com/questions/6524550/performance-of-tables-vs-views

반응형