Limitazioni delle visualizzazioni materializzate e problemi noti
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
Origine vista materializzata
- Tabella di origine di una vista materializzata:
- Deve essere una tabella in cui i dati vengono inseriti direttamente, usando criteri di aggiornamento o inserimento da comandi di query.
- L'uso di extent di spostamento o sostituzione di extent da altre tabelle alla tabella di origine della vista materializzata è supportato solo se si usa
setNewIngestionTime
la proprietà come parte del comando move extents (vedere i comandi .move extents e .replace extents per altri dettagli). - Lo spostamento di extent nella tabella di origine di una vista materializzata, mentre l'uso
setNewIngestionTime
non può avere esito negativo con uno degli errori seguenti: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)
.
- L'uso di extent di spostamento o sostituzione di extent da altre tabelle alla tabella di origine della vista materializzata è supportato solo se si usa
- Deve essere una tabella in cui i dati vengono inseriti direttamente, usando criteri di aggiornamento o inserimento da comandi di query.
- La tabella di origine di una vista materializzata deve avere i criteri IngestionTime abilitati. Questo criterio è abilitato per impostazione predefinita.
- Se la vista materializzata usa un oggetto
lookback
(vedere le proprietà supportate), deveingestion_time()
essere mantenuto nella query della vista materializzata. Gli operatori come mv-expand o plug-in pivot non mantengono eingestion_time()
pertanto non possono essere usati in una vista materializzata con .lookback
- La tabella di origine di una vista materializzata non può essere una tabella con criteri di accesso con visualizzazione limitata.
- Non è possibile creare una vista materializzata sopra un'altra vista materializzata, a meno che la prima vista materializzata non sia di tipo
take_any(*)
aggregazione. Vedere la visualizzazione materializzata sulla vista materializzata. - Le viste materializzate non possono essere definite su tabelle esterne.
Avviso
- Una vista materializzata verrà disabilitata automaticamente dal sistema se le modifiche apportate alla tabella di origine della vista materializzata o le modifiche apportate ai dati causano incompatibilità tra la query di visualizzazione materializzata e lo schema della vista materializzata prevista.
- Per evitare questo errore, la query della vista materializzata deve essere deterministica. Ad esempio, i plug-in bag_unpack o pivot generano uno schema non deterministico.
- Quando si usa un'aggregazione
arg_max(Timestamp, *)
e quandoautoUpdateSchema
è false, anche le modifiche apportate alla tabella di origine possono causare mancate corrispondenze dello schema.- Evitare questo errore definendo la query di visualizzazione come
arg_max(Timestamp, Column1, Column2, ...)
o usando l'opzioneautoUpdateSchema
.
- Evitare questo errore definendo la query di visualizzazione come
- L'uso
autoUpdateSchema
di può causare una perdita irreversibile di dati quando le colonne nella tabella di origine vengono eliminate. - Monitorare la disabilitazione automatica delle viste materializzate usando la metrica MaterializedViewResult.
- Dopo aver risolto i problemi di incompatibilità, la visualizzazione deve essere riabilitata in modo esplicito usando il comando abilita visualizzazione materializzata.
Impatto dei record inseriti o eliminati dalla tabella di origine
- Una vista materializzata elabora solo i nuovi record inseriti nella tabella di origine. I record rimossi dalla tabella di origine, eseguendo gli extent di eliminazione temporanea dell'eliminazione/temporanea dei dati/o a causa dei criteri di conservazione o qualsiasi altro motivo, non hanno alcun impatto sulla vista materializzata.
- La vista materializzata ha criteri di conservazione propri, indipendentemente dai criteri di conservazione della tabella di origine. La vista materializzata può includere record non presenti nella tabella di origine.
Database di follower
- Le viste materializzate non possono essere create nei database follower. I database follower sono viste di sola lettura e materializzate richiedono operazioni di scrittura.
- Le viste materializzate non possono essere create nei collegamenti al database. I collegamenti al database sono viste di sola lettura e materializzate richiedono operazioni di scrittura.
- Le viste materializzate definite nei database leader possono essere sottoposte a query dai follower, come qualsiasi altra tabella nel leader.
- Usare il cluster leader per monitorare le viste materializzate del database follower. Per altri dettagli, vedere Viste materializzate nei database follower.
- Usare la eventhouse di origine per monitorare le viste materializzate del database di collegamento. Per altri dettagli, vedere Monitorare le viste materializzate
Altro
- Le funzioni di cursore non possono essere usate sopra le viste materializzate.
- L'esportazione continua da una vista materializzata non è supportata.