반응형
뷰가 스키마 바운드되지 않았으므로 'View_Table_Name' 뷰에 인덱스를 만들 수 없습니다.
저장된 프로시저(SQL-Server)에서 보기를 사용하고 있습니다.성능 향상을 위해 해당 뷰의 INDEX를 작성하려고 했습니다.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW VW_Table_Name
AS
SELECT Col1,Col2,Col3 FROM Table_Name
GO
CREATE UNIQUE CLUSTERED INDEX Index_Name ON [VW_Table_Name](Col1)
GO
다음과 같은 오류가 표시됩니다.
Msg 1939, Level 16, State 1, Line 1 뷰가 스키마 바인딩되어 있지 않기 때문에 뷰 'VW_FML'에 인덱스를 만들 수 없습니다.
SQL Server에서 Index for View를 생성할 수 있습니까?
인덱싱된 뷰에는 하위 쿼리, 결합, 외부 조인 등 다양한 제한이 있습니다.자세한 내용은 이 문서를 참조하십시오.그러나 스키마 바인딩을 사용하여 보기를 작성하기만 하면 됩니다.
CREATE VIEW VW_Table_Name WITH SCHEMABINDING
AS
SELECT Col1,Col2,Col3 FROM Table_Name
GO
인덱싱된 뷰 또는 구체화된 뷰를 작성하려고 하기 때문입니다.뷰 위에 클러스터된 인덱스를 작성하는 경우 뷰에 "SCHEMABINDING" 옵션이 있어야 합니다.
보기는 저장된 쿼리에 불과합니다. 인덱스를 만들 경우 인덱스가 해당 쿼리를 사용하여 해당 테이블에서 실행합니다. 이 경우 테이블 아래에서 테이블이 변경되지 않도록 해야 합니다.따라서 이 제약 조건을 적용함으로써 SQL Server는 모든 것을 동기화 상태로 유지합니다.
언급URL : https://stackoverflow.com/questions/8506487/cannot-create-index-on-view-view-table-name-because-the-view-is-not-schema-bou
반응형
'programing' 카테고리의 다른 글
| .NET의 문자열에서 큰따옴표 제거 (0) | 2023.07.02 |
|---|---|
| springboot swagger3 "원격 구성을 로드하지 못했습니다." (0) | 2023.07.02 |
| mongoose/mongodb 쿼리 다중 정렬 (0) | 2023.06.27 |
| mongoose 문서 인스턴스를 복사/복제하는 가장 쉬운 방법은 무엇입니까? (0) | 2023.06.27 |
| Oracle UNION 및 ORDER BY에 대한 궁금한 문제 (0) | 2023.06.27 |