0 투표
MSSQL(SQLServer)에서 VIEW에 있는 WITH SCHEMABINDING 은 무엇인가요?

1 답변

0 투표

MSSQL에서 VIEW에 사용하는 WITH SCHEMABINDING
해당 뷰가 참조하고 있는 **테이블이나 객체의 스키마(구조)를 고정(bind)**시키는 옵션입니다.

쉽게 말해, 뷰가 사용하는 테이블 구조를 마음대로 변경하지 못하게 막는 역할을 합니다.

주요 특징

  1. 뷰가 참조하는 테이블의 컬럼을
  • 삭제
  • 타입 변경
  • 이름 변경
    하려고 하면 오류가 발생합니다.
    즉, 뷰와 테이블 간 구조적 일관성을 강제로 유지합니다.
  1. WITH SCHEMABINDING을 사용하면
  • SELECT * 사용 불가
  • 테이블명 앞에 반드시 스키마명(dbo.TableName) 명시 필요
    같은 제약이 생깁니다.
    이는 뷰 정의를 명확하게 고정하기 위한 규칙입니다.
  1. **인덱스드 뷰(Indexed View)**를 만들기 위한 필수 조건입니다.
    성능 향상을 위해 뷰에 인덱스를 생성하려면 반드시 WITH SCHEMABINDING이 필요합니다.

사용 예 CREATE VIEW dbo.vSample
WITH SCHEMABINDING
AS
SELECT
Id,
Name
FROM dbo.SampleTable;

언제 사용하는가

  • 인덱스드 뷰를 생성해야 할 때
  • 중요한 뷰가 테이블 구조 변경으로 깨지는 것을 방지하고 싶을 때
  • 데이터베이스 구조 안정성이 중요한 운영 환경일 때

정리 WITH SCHEMABINDING은
“이 뷰는 이 테이블 구조에 강하게 의존하니, 함부로 구조를 바꾸지 말라”는 의미의 안전장치입니다.
성능 최적화와 구조 보호가 목적일 때 사용하는 옵션입니다.

구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
...