다음을 통해 공유


.disable | .enable materialized-view

적용 대상: ✅Microsoft Fabric✅Azure Data Explorer

구체화된 뷰에 대한 구체화 프로세스를 사용하지 않도록 설정하거나 사용하도록 설정합니다.

참고 항목

구체화된 뷰를 사용하지 않도록 설정/활성화하는 것과 관련된 몇 가지 중요한 성능 영향이 있으므로 이 명령을 계속 사용하기 전에 잘 알고 있어야 합니다. 자세한 내용은 구체화된 뷰를 사용/사용하지 않도록 설정하면 성능에 미치는 영향 섹션을 참조하세요 .

사용 권한

이러한 명령을 실행하려면 최소한 구체화된 뷰 관리자 가 있어야 합니다.

구문

.enable | disablematerialized-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)

구체화된 뷰 사용/사용 안 함의 성능 영향

  • 구체화된 뷰를 사용하지 않도록 설정하면 구체화가 일시 중지되고 데이터베이스의 리소스가 사용되지 않습니다. 구체화된 뷰를 쿼리하는 것은 사용하지 않도록 설정된 경우에도 가능하지만 성능이 저하될 수 있습니다. 비활성화된 구체화된 뷰의 성능은 원본 테이블이 비활성화된 이후 수집된 레코드 수에 따라 달라집니다.
  • 이전에 사용하지 않도록 설정된 구체화된 뷰를 사용하도록 설정할 수 있습니다. 다시 사용하도록 설정하면 구체화된 뷰는 중단된 지점에서 계속 구체화되며 레코드는 건너뛰지 않습니다. 보기가 오랫동안 사용하지 않도록 설정된 경우 따라잡는 데 시간이 오래 걸릴 수 있습니다.
  • 보기가 데이터베이스의 상태에 영향을 주는 것으로 의심되는 경우에만 보기를 사용하지 않도록 설정하는 것이 좋습니다.