Begränsningar för materialiserade vyer och kända problem

Den materialiserade vykällan

  • Källtabellen för en materialiserad vy:
    • Måste vara en tabell där data matas in direkt med hjälp av en uppdateringsprincip eller matas in från frågekommandon.
      • Att använda flyttområden eller ersätta utrymmen från andra tabeller till källtabellen i den materialiserade vyn stöds endast om du använder setNewIngestionTime egenskapen som en del av kommandot för flyttområden (mer information finns i .move-utrymmen och .replace-utrymmeskommandon ).
      • Flytt av utrymmen till källtabellen i en materialiserad vy, men om du inte använder setNewIngestionTime kan det misslyckas med något av följande fel:
        • Cannot drop/move extents from/to table 'TableName' since Materialized View 'ViewName' is currently processing some of these extents.
        • Cannot move extents to 'TableName' since materialized view 'ViewName' will not process these extents (can lead to data loss in the materialized view).
  • Källtabellen i en materialiserad vy måste ha IngestionTime-principen aktiverad (den är aktiverad som standard).
  • Källtabellen för en materialiserad vy kan inte vara en tabell med åtkomstprincip för begränsad vy.
  • Det går inte att skapa en materialiserad vy ovanpå en annan materialiserad vy, såvida inte den första materialiserade vyn är av typen take_any(*) aggregering. Se materialiserad vy över materialiserad vy.
  • Materialiserade vyer kan inte definieras över externa tabeller.

Varning

  • En materialiserad vy inaktiveras automatiskt av systemet om ändringar i källtabellen i den materialiserade vyn eller ändringar i data leder till inkompatibilitet mellan den materialiserade vyfrågan och den förväntade materialiserade vyns schema.
    • För att undvika det här felet måste den materialiserade vyfrågan vara deterministisk. Till exempel resulterar bag_unpack- eller pivot-plugin-program i ett icke-deterministiskt schema.
    • När du använder en arg_max(Timestamp, *) aggregering och när autoUpdateSchema är falskt kan ändringar i källtabellen också leda till schemamatchningar.
      • Undvik det här felet genom att definiera visningsfrågan som arg_max(Timestamp, Column1, Column2, ...)eller med hjälp autoUpdateSchema av alternativet .
  • Användning autoUpdateSchema kan leda till oåterkallelig dataförlust när kolumner i källtabellen tas bort.
  • Övervaka automatisk inaktivering av materialiserade vyer med hjälp av måttet MaterializedViewResult.
  • När du har åtgärdat inkompatibilitetsproblem bör vyn uttryckligen återaktiveras med hjälp av kommandot aktivera materialiserad vy .

Påverkan av poster som matas in till eller tas bort från källtabellen

  • En materialiserad vy bearbetar endast nya poster som matas in i källtabellen. Poster som tas bort från källtabellen, antingen genom att köra datarensningförmjuk borttagning//, eller på grund av kvarhållningsprincip eller någon annan orsak, har ingen inverkan på den materialiserade vyn.
  • Den materialiserade vyn har en egen kvarhållningsprincip, som är oberoende av källtabellens kvarhållningsprincip. Den materialiserade vyn kan innehålla poster som inte finns i källtabellen.

Uppföljningsdatabaser

  • Det går inte att skapa materialiserade vyer i följande databaser. Uppföljningsdatabaser är skrivskyddade och materialiserade vyer kräver skrivåtgärder.
  • Materialiserade vyer som definieras på ledardatabaser kan efterfrågas från sina följare, precis som andra tabeller i ledaren.
  • Använd leaderklustret för att övervaka materialiserade vyer för uppföljningsdatabasen. Mer information finns i Materialiserade vyer i följande databaser.

Övrigt

  • Markörfunktioner kan inte användas ovanpå materialiserade vyer.
  • Kontinuerlig export från en materialiserad vy stöds inte.