MySQL View
MySQL View
View 소개
- 뷰(View)는 실제 데이터를 가지지 않는 가상의 테이블이며, 그 실체는 데이터베이스에 저장된 SELECT 쿼리문
- 원본 테이블에 직접 접근할 필요 없이 뷰를 통해서만 제한된 데이터에 접근하게 되므로 보안성이 향상 됨
- 뷰를 조회할 때 마다 저장된 SELECT 쿼리가 실행되므로, 데이터는 항상 원본 테이블의 최신 상태를 반영
- 원본 테이블의 구조가 변경되어도 뷰의 정의만 수정하면 되므로, 논리적 데이터 독립성을 제공
View 생성
1
2
CREATE VIEW view_name AS
SELECT 쿼리문;
View 수정
1
2
3
ALTER
VIEW view_name AS
SELECT 쿼리문;
View 삭제
1
DROP VIEW view_name;
- 원본 테이블의 데이터는 전혀 손상 되지 않음
장단점
장점
- 편리성과 재사용성: 복잡한 쿼리를 단순화하고 재사용허여 유지보수성을 높임
- 보안성: 특정 행이나 열만 노출하여 사용자별 데이터 접근 권한을 세밀하게 제어할 수 있음
- 논리적 데이터 독립성: 테이블 구조가 변경되어도 뷰를 사용하는 응용 프그램은 영향을 받지 않도록 보호하는 추상화 계층 역할을 함
단점
- 성능 문제: 뷰의 쿼리가 단순해 보여도 실제로는 시스템에 큰 부하를 줄 수 있으며, 특히 뷰를 중복하여 사용하면 성능 저하의 원인이 될 수 있음
- 업데이트 제약:
JOIN이나 집계 함수(SUM,COUNT등)을 사용한 복잡한 뷰는 데이터를 수정(INSERT,UPDATE,DELETE) 할 수 없음 - 뷰는 기본적으로 조회용으로 사용하는 것이 원칙
참고
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.