Aracılığıyla paylaş


REFRESH POLICY yan tümcesi

Şunun için geçerlidir:Evet olarak işaretlendi Databricks SQL Evet olarak işaretlendi Databricks Runtime

Önemli

Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.

Gerçekleştirilmiş görünüme yenileme ilkesini ekler ve yenilemenin ne zaman artımlı hale getirilmesini denetler. deyimi için CREATE MATERIALIZED VIEW geçerlidir.

Artımlılaştırma hakkında bilgi edinmek için bkz. Gerçekleştirilmiş görünümler için artımlı yenileme. Deyimiyle EXPLAIN CREATE MATERIALIZED VIEW sql sorgusunun artımlı hale getirilip getirilemediğini de kontrol edebilirsiniz. Bkz. EXPLAIN CREATE MATERIALIZED VIEW.

Sözdizimi

REFRESH POLICY refresh_policy

refresh_policy:
  AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL

Parametreler

  • refresh_policy

    Gerçekleştirilmiş görünüm için bir yenileme ilkesi tanımlar. REFRESH POLICY atlanırsa, AUTO varsayılan ilkedir.

    Yenileme ilkesi, yenilemenin gerçekleştirilmiş görünümün artımlı hale getirilmesini nasıl işlediğini tanımlar.

    • AUTO

      Sistem, maliyet modeline göre artımlı veya tam yenilemeyi otomatik olarak seçer.

      Devlet Davranış
      Yenileme için artımlı kullanılabilir. Hangisinin daha ucuz, artımlı veya dolu olduğunu belirlemek için maliyet modelini kullanır.
      Artımlı yenileme için kullanılamaz. Tam yenileme gerçekleştirir.
      Oluşturma veya yeniden başlatma gereklidir (örneğin, şema değişikliğinde) Tam yenileme gerçekleştirir.
    • INCREMENTAL

      Sistem mümkün olduğunda artımlı yenilemeler kullanır. üzerinde CREATE, sorgu artımlı hale getirilemiyorsa oluşturma başarısız olur.

      Devlet Davranış
      Yenileme için artımlı kullanılabilir. Artımlı yenileme gerçekleştirir.
      Yenileme için artımlı kullanılamaz. Tam yenileme gerçekleştirir.
      Oluşturma veya yeniden başlatma gereklidir, ancak sorgu için artımlılaştırma mümkündür. Tam yenileme gerçekleştirir.
      Oluşturma veya yeniden başlatma gereklidir ve sorgu için artımlılaştırma mümkün değildir. İşlem başarısız oluyor.
    • INCREMENTAL STRICT

      Sistem artımlı yenilemeler kullanır. üzerinde CREATE, sorgu artımlı hale getirilemiyorsa oluşturma başarısız olur.

      Devlet Davranış
      Yenileme için artımlı kullanılabilir. Artımlı yenileme gerçekleştirir.
      Yenileme için artımlı kullanılamaz. Yenileme başarısız oluyor.
      Oluşturma veya yeniden başlatma gereklidir, ancak sorgu için artımlılaştırma mümkündür. Tam yenileme gerçekleştirir.
      Oluşturma veya yeniden başlatma gereklidir ve sorgu için artımlılaştırma mümkün değildir. İşlem başarısız oluyor.
    • FULL

      Sistem her zaman tam yenileme kullanır.

      Devlet Davranış
      Yenileme için artımlı kullanılabilir. Tam yenileme gerçekleştirir.
      Yenileme için artımlı kullanılamaz. Tam yenileme gerçekleştirir.
      Oluşturma veya yeniden başlatma gereklidir. Tam yenileme gerçekleştirir.

Hata durumundaki davranış

Yenileme ilkesine (için) uymadığı için REFRESH POLICY INCREMENTAL (STRICT)yenileme başarısız olduğunda sistem, artımlı hale getirilememesinin nedenini açıklayan ayrıntılı bilgiler içeren bir hata sınıfı MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE döndürür. Örneğin:

  • OPERATOR_NOT_SUPPORTED: Karmaşık birleştirme gibi bir işleç artımlılaştırmayı engeller.
  • EXPRESSION_NOT_DETERMINSTIC: sorguda gibi RANDbelirleyici olmayan bir işlev kullanılır.

Sorguyu artımlı hale getiren şeyleri anlamak için bkz. Gerçekleştirilmiş görünümler için artımlı yenileme.

SQL sorgusunun artımlı hale getirilebilir olup olmadığını denetlemek için deyimini EXPLAINCREATE MATERIALIZED VIEW kullanın. Bkz. EXPLAIN CREATE MATERIALIZED VIEW.

Örnekler

-- Create a materialized view with an incremental policy
CREATE MATERIALIZED VIEW IF NOT EXISTS my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;