Aracılığıyla paylaş


.disable | .enable materialized-view

Gerçekleştirilmiş görünüm için gerçekleştirme işlemini devre dışı bırakır veya etkinleştirir.

Not

Gerçekleştirilmiş bir görünümü devre dışı bırakma/etkinleştirme ile ilgili bazı önemli performans etkileri olduğundan, bu komutu kullanmaya devam etmeden önce bunları bildiğinizden emin olun. Daha fazla bilgi için Gerçekleştirilmiş görünümleri etkinleştirme/devre dışı bırakmanın performans etkileri bölümüne bakın.

İzinler

Bu komutları çalıştırmak için en azından Gerçekleştirilmiş Görünüm Yöneticisine sahip olmanız gerekir.

Sözdizimi

.enable | disablematerialized-view MaterializedViewName

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
MaterializedViewName string ✔️ Gerçekleştirilmiş görünümün adı.

Döndürülenler

Gerçekleştirilmiş görünüm zaten komutun ayarlamaya çalıştığı durumdaysa, komut böyle olduğunu belirten bir hatayla başarısız olur.

Aksi takdirde, IsEnabled özelliği değiştirilmiş gerçekleştirilmiş görünüm hakkındaki ayrıntıları döndürür.

Çıkış şeması:

Adı Tür Açıklama
Ad string Gerçekleştirilmiş görünümün adı.
SourceTable string Görünümün tanımlandığı kaynak tablonun adı.
Sorgu string Gerçekleştirilmiş görünümün sorgu tanımı.
MaterializedTo datetime Kaynak tabloda en fazla gerçekleştirilmiş ingestion_time() zaman damgası. Daha fazla bilgi için, gerçekleştirilmiş görünümlerin nasıl çalıştığına bakın.
LastRun datetime Gerçekleştirmenin en son çalıştırıldığı zaman.
LastRunResult string Son çalıştırmanın sonucu. Başarılı çalıştırmalar için döndürür Completed , aksi takdirde Failed.
IsHealthy bool true görünümün iyi durumda olduğu kabul edildiğinde, false aksi takdirde. Görünüm, son saate kadar başarıyla gerçekleştirilmişse (MaterializedTo değerinden büyüktür ago(1h)) iyi durumda kabul edilir.
IsEnabled bool true görünüm etkinleştirildiğinde (bkz . Gerçekleştirilmiş görünümü devre dışı bırakma veya etkinleştirme).
Klasör string Gerçekleştirilmiş görünümün oluşturulduğu klasör.
DocString string Gerçekleştirilmiş görünüme atanan açıklama.
AutoUpdateSchema bool Görünümün otomatik güncelleştirmeler için etkinleştirilip etkinleştirilmediği.
EffectiveDateTime datetime Oluşturma sırasında belirlenen görünümün geçerlilik tarihi saati (bkz .create materialized-view. ).
Geri bak timespan Yinelemelerin beklendiği süreyi sınırlayan zaman aralığı.

Örnekler

Gerçekleştirilmiş görünümü etkinleştirme

Aşağıdaki komut, ViewName gerçekleştirilmiş görünümünü etkinleştirir:

.enable materialized-view ViewName

Çıktı

Veri Akışı Adı SourceTable Sorgu MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Klasör DocString AutoUpdateSchema EffectiveDateTime Geri bak
ViewName TableName TableName | Sütun1'e göre arg_max özetleme(Sütun3, *) 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Tamamlandı true true yanlış 2023-02-23T14:01:42.5172342Z

Gerçekleştirilmiş görünümü devre dışı bırakma

Aşağıdaki komut, gerçekleştirilmiş ViewName görünümünü devre dışı bırakır:

.disable materialized-view ViewName

Çıktı

Veri Akışı Adı SourceTable Sorgu MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Klasör DocString AutoUpdateSchema EffectiveDateTime Geri bak
ViewName TableName TableName | Sütun1'e göre arg_max özetleme(Sütun3, *) 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Tamamlandı true yanlış yanlış 2023-02-23T14:01:42.5172342Z

Açıklamalar

Gerçekleştirilmiş görünümleri devre dışı bırakma

Gerçekleştirilmiş görünüm aşağıdaki yollardan herhangi biriyle devre dışı bırakılabilir:

  • Sistem tarafından otomatik devre dışı bırakma: Gerçekleştirme kalıcı bir hatayla başarısız olursa gerçekleştirilmiş görünüm otomatik olarak devre dışı bırakılır. Bu işlem aşağıdaki örneklerde gerçekleşebilir:
    • Görünüm tanımıyla tutarsız şema değişiklikleri.
    • Gerçekleştirilmiş görünüm sorgusunun görsel olarak geçersiz olmasına neden olan kaynak tabloda yapılan değişiklikler.
  • Gerçekleştirilmiş görünümü açıkça devre dışı bırakın: Gerçekleştirilmiş görünüm kümenin durumunu olumsuz etkiliyorsa (örneğin, çok fazla CPU kullanıyorsanız), komutunu kullanarak .disable materialized-view görünümü devre dışı bırakın.

Gerçekleştirilmiş görünümler ve Satır Düzeyi Güvenliği

Gerçekleştirilmiş görünüm devre dışı bırakılırsa ve görünüm devre dışı bırakılırken birisi görünümün kaynak tablosunda satır düzeyi bir güvenlik ilkesi tanımlar, ancak gerçekleştirilmiş görünümde satır düzeyi güvenlik ilkesi tanımlanmamışsa, görünümü etkinleştirme güvenlik nedeniyle başarısız olur. Bu hatayı azaltmak için şunları yapabilirsiniz:

  • Gerçekleştirilmiş görünümde satır düzeyi güvenlik ilkesini tanımlayın.
  • İlkeyi etkinleştir komutuna özellik ekleyerek allowMaterializedViewsWithoutRowLevelSecurity hatayı yoksaymayı seçin. Örneğin:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Gerçekleştirilmiş görünümleri etkinleştirme/devre dışı bırakmanın performans etkileri

  • Gerçekleştirilmiş görünüm devre dışı bırakıldığında, gerçekleştirme duraklatılır ve kümedeki kaynakları kullanmaz. Gerçekleştirilmiş görünümün sorgulanması devre dışı bırakıldığında bile mümkündür, ancak performans düşük olabilir. Devre dışı bırakılmış gerçekleştirilmiş görünümdeki performans, devre dışı bırakıldığından beri kaynak tabloya alınan kayıtların sayısına bağlıdır.
  • Daha önce devre dışı bırakılmış gerçekleştirilmiş bir görünümü etkinleştirebilirsiniz. Yeniden etkinleştirildiğinde, gerçekleştirilmiş görünüm kaldığı yerden devam eder ve hiçbir kayıt atlanmaz. Görünüm uzun süre devre dışı bırakıldıysa, görünümün tamamlanması uzun sürebilir.
  • Görünümü devre dışı bırakmak yalnızca görünümün kümenizin durumunu etkilediğini düşünüyorsanız önerilir.