A tényleges táblán alapuló nézetek korlátozásai és ismert problémái

A materializált nézet forrása

  • A materializált nézet forrástáblája:
    • Olyan táblának kell lennie, amelybe az adatok közvetlenül betöltve, frissítési szabályzattal vagy lekérdezési parancsokból való betöltéssel kerülnek be.
      • A más táblákból a materializált nézet forrástáblájára történő áthelyezési éscserei mértékek használata csak akkor támogatott, ha a tulajdonságot az áthelyezési mértékek parancs részeként használja setNewIngestionTime (további részletekért tekintse meg az .move extents és a .replace extents parancsot ).
      • A mértékek materializált nézet forrástáblába való áthelyezése a használatsetNewIngestionTime hiánya esetén az alábbi hibák valamelyikével meghiúsulhat:
        • 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).
  • A materializált nézet forrástáblájának engedélyeznie kell az IngestionTime szabályzatot (alapértelmezés szerint engedélyezve van).
  • A materializált nézet forrástáblája nem lehet korlátozott nézethozzáférés-szabályzattal rendelkező tábla.
  • Materializált nézet nem hozható létre egy másik materializált nézet fölé, kivéve, ha az első materializált nézet típusösszesítés take_any(*) . Lásd a materializált nézetet a materializált nézethez képest.
  • A materializált nézetek nem határozhatók meg külső táblákon keresztül.

Figyelmeztetés

  • A materializált nézetet a rendszer automatikusan letiltja, ha a materializált nézet forrástáblájának módosítása, vagy az adatok változása a materializált nézet lekérdezése és a várt materializált nézet sémája közötti összeegyeztethetetlenséghez vezet.
    • A hiba elkerülése érdekében a materializált nézet lekérdezésének determinisztikusnak kell lennie. A bag_unpack vagy kimutatás beépülő modul például nem determinisztikus sémát eredményez.
    • Aggregáció használatakor arg_max(Timestamp, *) és ha autoUpdateSchema hamis, a forrástábla módosítása sémaeltérésekhez is vezethet.
      • Ezt a hibát elkerülheti, ha a nézet lekérdezését arg_max(Timestamp, Column1, Column2, ...)a beállítással autoUpdateSchema , vagy néven definiálja.
  • A használata autoUpdateSchema visszafordíthatatlan adatvesztéshez vezethet a forrástábla oszlopainak elvetésekor.
  • A materializált nézetek automatikus letiltásának monitorozása a MaterializedViewResult metrikával.
  • Az inkompatibilitási problémák kijavítása után a nézetet explicit módon újra engedélyezni kell a materializált nézet engedélyezése paranccsal.

A forrástáblába betöltött vagy onnan elvetett rekordok hatása

  • A materializált nézet csak a forrástáblába betöltött új rekordokat dolgozza fel. A forrástáblából az adattörlési/helyreállítható törlési/mértékek futtatásával vagy a megőrzési szabályzat vagy más okból eltávolított rekordok nem befolyásolják a materializált nézetet.
  • A materializált nézet saját adatmegőrzési szabályzattal rendelkezik, amely független a forrástábla adatmegőrzési szabályzatától. A materializált nézet olyan rekordokat is tartalmazhat, amelyek nem szerepelnek a forrástáblában.

Követő adatbázisok

Egyéb

  • A kurzorfüggvények nem használhatók a materializált nézeteken felül.
  • A materializált nézetből történő folyamatos exportálás nem támogatott.