Limitazioni delle visualizzazioni materializzate e problemi noti
Origine visualizzazione materializzata
- Tabella di origine di una vista materializzata:
- Deve essere una tabella in cui i dati vengono inseriti direttamente, usando un criterio di aggiornamento o l'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 (fare riferimento ai comandi .move extents e . replace extents per altri dettagli). - Lo spostamento delle estensioni alla tabella di origine di una visualizzazione materializzata, mentre l'uso
setNewIngestionTime
potrebbe non riuscire 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 un criterio di aggiornamento o l'inserimento da comandi di query.
- Per impostazione predefinita, la tabella di origine di una visualizzazione materializzata deve avere i criteri Di inserimentoTime abilitati.It is enabled by default.
- La tabella di origine di una vista materializzata non può essere una tabella con criteri di accesso a visualizzazione limitata.
- Non è possibile creare una visualizzazione materializzata sopra un'altra visualizzazione materializzata, a meno che la prima visualizzazione materializzata non sia di tipo
take_any(*)
aggregazione. Vedere visualizzazione materializzata sulla visualizzazione materializzata. - Le viste materializzate non possono essere definite su tabelle esterne.
Avviso
- Una visualizzazione materializzata verrà disabilitata automaticamente dal sistema se le modifiche apportate alla tabella di origine della visualizzazione materializzata o le modifiche apportate ai dati comportano l'incompatibilità tra la query di visualizzazione materializzata e lo schema della visualizzazione materializzata prevista.
- Per evitare questo errore, la query di visualizzazione 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, le modifiche apportate alla tabella di origine possono anche causare errori di corrispondenza 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
può causare una perdita irreversibile di dati quando le colonne della tabella di origine vengono eliminate. - Monitorare la disabilitazione automatica delle visualizzazioni 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 nuovi record inseriti nella tabella di origine. I record rimossi dalla tabella di origine, eseguendole estensioni di eliminazione temporanea dell'eliminazione/ temporanea dei dati/ o a causa di criteri di conservazione o qualsiasi altro motivo, non hanno alcun impatto sulla visualizzazione materializzata.
- La visualizzazione materializzata ha i propri criteri di conservazione, indipendentemente dai criteri di conservazione della tabella di origine. La vista materializzata potrebbe includere record che non sono presenti nella tabella di origine.
Database di follower
- Le visualizzazioni materializzate non possono essere create nei database di follower. I database follower sono viste di sola lettura e materializzate richiedono operazioni di scrittura.
- Le visualizzazioni materializzate definite nei database leader possono essere sottoposte a query dai loro follower, come qualsiasi altra tabella nel leader.
- Usare il cluster leader per monitorare le visualizzazioni materializzate del database dei follower. Per altre informazioni, vedere Visualizzazioni materializzate nei database di follower.
Altro
- Le funzioni di cursore non possono essere usate sopra le viste materializzate.
- L'esportazione continua da una visualizzazione materializzata non è supportata.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per