정보처리기사

[Database] MySQL의 뷰 테이블로 SQL 성능을 향상 시키기

dongkeonkim 2023. 4. 13. 15:52
반응형

뷰 테이블은 기존의 테이블에서 선택적으로 컬럼을 추출하거나, 여러 개의 테이블을 조인한 결과에서 데이터를 추출하여 가상의 테이블을 만든 것입니다. 만약 사용자가 원하는 데이터를 만들기 위해서 여러 개의 테이블을 JOIN 해야 하는데, 해당 테이블이 수정 삭제되는 경우가 없는 경우, 뷰 테이블을 사용하여 JOIN된 결과를 미리 만들어 두는 것이 가능합니다. 그러면 쿼리가 어떻게 되겠습니까?

 

원래라면

 

SELECT * FROM A

LEFT JOIN B ON A.id = B.id

LEFT JOIN ...

 

이처럼 계속되는 조인과 조건들을

 

SELECT * FROM VIEW_TABLE 로 쿼리를 끝낼 수가 있다는 것이지요.

 

이처럼 뷰 테이블을 사용하면 다음과 같은 장점이 있습니다.

 

1. 데이터 보안 강화

뷰 테이블을 통해 원본 테이블의 중요한 정보를 감추거나, 권한이 없는 사용자가 접근할 수 없는 데이터를 숨길 수 있습니다.

 

2. 데이터 일관성 유지

뷰 테이블을 사용하여 데이터 일관성을 유지할 수 있습니다. 예를 들어, 여러 개의 테이블에서 조인한 결과를 뷰 테이블로 생성해 놓으면, 이를 사용하여 뷰 테이블만 변경하면 되므로 일관성 유지가 용이합니다.

 

3. 데이터 접근 용이성 증대

뷰 테이블을 사용하면 복잡한 쿼리를 간단하게 작성할 수 있습니다. 뷰 테이블을 사용하면 여러 개의 테이블에서 데이터를 추출하거나, 조건을 추가하는 등의 작업을 간단하게 수행할 수 있습니다.

 

4. 시스템 성능 향상

뷰 테이블을 사용하여 시스템 성능을 향상시킬 수 있습니다. 뷰 테이블은 새로운 테이블이 아니므로, 데이터를 저장하지 않기 때문에 저장소를 절약할 수 있습니다. 또한, 뷰 테이블을 사용하여 쿼리를 실행할 때 성능이 향상될 수 있습니다.

 

5. 데이터 모델링 유연성 증대

뷰 테이블을 사용하면 데이터 모델링을 유연하게 수행할 수 있습니다. 예를 들어, 여러 개의 테이블에서 데이터를 추출하여 뷰 테이블로 생성하면, 추후에 데이터 모델링을 변경할 때 뷰 테이블만 수정하면 되므로 유연성이 증대됩니다.

반응형