.disable | .enable materialized-view
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
구체화된 뷰에 대한 구체화 프로세스를 사용하지 않도록 설정하거나 사용하도록 설정합니다.
참고 항목
구체화된 뷰를 사용하지 않도록 설정/활성화하는 것과 관련된 몇 가지 중요한 성능 영향이 있으므로 이 명령을 계속 사용하기 전에 잘 알고 있어야 합니다. 자세한 내용은 구체화된 뷰를 사용/사용하지 않도록 설정하면 성능에 미치는 영향 섹션을 참조하세요 .
사용 권한
이러한 명령을 실행하려면 최소한 구체화된 뷰 관리자 가 있어야 합니다.
구문
.enable
| disable
materialized-view
MaterializedViewName
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
MaterializedViewName | string |
✔️ | 구체화된 뷰의 이름입니다. |
반품
구체화된 뷰가 명령이 설정하려고 하는 상태에 이미 있는 경우 해당 경우를 나타내는 오류와 함께 명령이 실패합니다.
그렇지 않으면 IsEnabled 속성이 변경된 구체화된 뷰에 대한 세부 정보를 반환합니다.
출력 스키마:
속성 | 형식 | Description |
---|---|---|
이름 | string |
구체화된 뷰의 이름입니다. |
SourceTable | string |
뷰가 정의된 원본 테이블의 이름입니다. |
쿼리 | string |
구체화된 뷰의 쿼리 정의입니다. |
MaterializedTo | datetime |
원본 테이블에서 구체화된 최대 ingestion_time() 타임스탬프입니다. 자세한 내용은 구체화된 뷰의 작동 방식을 참조 하세요. |
LastRun | datetime |
마지막으로 구체화를 실행했습니다. |
LastRunResult | string |
마지막 실행의 결과입니다. 성공한 실행에 대해 반환하고, 그렇지 않으면 Failed 반환 Completed 합니다. |
IsHealthy | bool |
true 보기가 정상 false 으로 간주되면 그렇지 않습니다. 뷰가 지난 1시간MaterializedTo (보다 ago(1h) 큼)까지 성공적으로 구체화된 경우 보기가 정상으로 간주됩니다. |
IsEnabled | bool |
true 보기가 활성화되면(구체화된 뷰 사용 안 함 또는 사용 설정 참조) |
폴더 | string |
구체화된 뷰가 만들어지는 폴더입니다. |
DocString | string |
구체화된 뷰에 할당된 설명입니다. |
AutoUpdateSchema | bool |
자동 업데이트에 뷰를 사용할 수 있는지 여부입니다. |
EffectiveDateTime | datetime |
보기의 유효 날짜 시간( 생성 시간 동안 결정됨)(참조 .create materialized-view ). |
되돌아보기 | timespan |
중복이 예상되는 기간을 제한하는 시간 범위입니다. |
예제
구체화된 뷰 사용
다음 명령을 사용하면 구체화된 ViewName 뷰를 사용할 수 있습니다.
.enable materialized-view ViewName
출력
속성 | SourceTable | 쿼리 | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | 폴더 | DocString | AutoUpdateSchema | EffectiveDateTime | 되돌아보기 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ViewName | TableName | TableName | column1로 arg_max(Column3, *) 요약 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Completed | true | true | false | 2023-02-23T14:01:42.5172342Z |
구체화된 뷰 사용 안 함
다음 명령은 구체화된 ViewName을 사용하지 않도록 설정합니다.
.disable materialized-view ViewName
출력
속성 | SourceTable | 쿼리 | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | 폴더 | DocString | AutoUpdateSchema | EffectiveDateTime | 되돌아보기 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ViewName | TableName | TableName | column1로 arg_max(Column3, *) 요약 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Completed | true | false | false | 2023-02-23T14:01:42.5172342Z |
설명
구체화된 뷰를 사용하지 않도록 설정
구체화된 뷰는 다음과 같은 방법으로 비활성화할 수 있습니다.
- 시스템에서 자동 사용 안 함: 구체화가 영구 오류로 인해 실패하면 구체화된 뷰가 자동으로 비활성화됩니다. 이 프로세스는 다음 인스턴스에서 발생할 수 있습니다.
- 뷰 정의와 일치하지 않는 스키마 변경 내용입니다.
- 구체화된 뷰 쿼리가 의미상 유효하지 않게 되는 원본 테이블의 변경 내용입니다.
- 구체화된 뷰를 명시적으로 사용하지 않도록 설정합니다. 구체화된 뷰가 데이터베이스의 상태에 부정적인 영향을 미치는 경우(예: CPU를 너무 많이 사용하는 경우) 명령을 사용하여
.disable materialized-view
보기를 사용하지 않도록 설정합니다.
구체화된 뷰 및 행 수준 보안
구체화된 뷰를 사용하지 않도록 설정하고 보기를 사용하지 않도록 설정하는 동안 누군가가 뷰의 원본 테이블에 행 수준 보안 정책을 정의하지만 구체화된 뷰에 행 수준 보안 정책이 정의되어 있지 않으면 보안상의 이유로 보기를 사용하도록 설정하지 못합니다. 이 오류를 완화하려면 다음을 수행할 수 있습니다.
- 구체화된 뷰에 대한 행 수준 보안 정책을 정의합니다.
- 정책 사용 명령에 속성을 추가하여
allowMaterializedViewsWithoutRowLevelSecurity
오류를 무시하도록 선택합니다. 예시:
.enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)
구체화된 뷰 사용/사용 안 함의 성능 영향
- 구체화된 뷰를 사용하지 않도록 설정하면 구체화가 일시 중지되고 데이터베이스의 리소스가 사용되지 않습니다. 구체화된 뷰를 쿼리하는 것은 사용하지 않도록 설정된 경우에도 가능하지만 성능이 저하될 수 있습니다. 비활성화된 구체화된 뷰의 성능은 원본 테이블이 비활성화된 이후 수집된 레코드 수에 따라 달라집니다.
- 이전에 사용하지 않도록 설정된 구체화된 뷰를 사용하도록 설정할 수 있습니다. 다시 사용하도록 설정하면 구체화된 뷰는 중단된 지점에서 계속 구체화되며 레코드는 건너뛰지 않습니다. 보기가 오랫동안 사용하지 않도록 설정된 경우 따라잡는 데 시간이 오래 걸릴 수 있습니다.
- 보기가 데이터베이스의 상태에 영향을 주는 것으로 의심되는 경우에만 보기를 사용하지 않도록 설정하는 것이 좋습니다.