Ograniczenia i znane problemy dotyczące zmaterializowanych widoków
Zmaterializowane źródło widoku
- Tabela źródłowa zmaterializowanego widoku:
- Musi być tabelą, w której dane są pozyskiwane bezpośrednio, przy użyciu zasad aktualizacji lub pozyskiwane z poleceń zapytania.
- Używanie zakresów przenoszenia lub zastępowanie zakresów z innych tabel do tabeli źródłowej zmaterializowanego widoku jest obsługiwane tylko w przypadku używania
setNewIngestionTime
właściwości w ramach polecenia przenoszenia zakresów (zobacz .move extents i .replace extents polecenia, aby uzyskać więcej szczegółów). - Przeniesienie zakresów do tabeli źródłowej zmaterializowanego widoku, chociaż nie jest używane
setNewIngestionTime
, może zakończyć się niepowodzeniem z jednym z następujących błędów: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)
.
- Używanie zakresów przenoszenia lub zastępowanie zakresów z innych tabel do tabeli źródłowej zmaterializowanego widoku jest obsługiwane tylko w przypadku używania
- Musi być tabelą, w której dane są pozyskiwane bezpośrednio, przy użyciu zasad aktualizacji lub pozyskiwane z poleceń zapytania.
- Tabela źródłowa zmaterializowanego widoku musi mieć włączone zasady IngestionTime (jest ona domyślnie włączona).
- Tabela źródłowa zmaterializowanego widoku nie może być tabelą z ograniczonymi zasadami dostępu do wyświetlania.
- Nie można utworzyć zmaterializowanego widoku na podstawie innego zmaterializowanego widoku, chyba że pierwszy zmaterializowany widok jest agregacją typów
take_any(*)
. Zobacz zmaterializowany widok nad zmaterializowanym widokiem. - Zmaterializowane widoki nie mogą być zdefiniowane w tabelach zewnętrznych.
Ostrzeżenie
- Zmaterializowany widok zostanie automatycznie wyłączony przez system, jeśli zmiany w tabeli źródłowej zmaterializowanego widoku lub zmiany w danych prowadzą do niezgodności między zmaterializowanym zapytaniem widoku a oczekiwanym schematem zmaterializowanego widoku.
- Aby uniknąć tego błędu, zmaterializowane zapytanie widoku musi być deterministyczne. Na przykład wtyczka bag_unpack lub przestawna powoduje nie deterministyczny schemat.
- W przypadku używania
arg_max(Timestamp, *)
agregacji i wartościautoUpdateSchema
false zmiany w tabeli źródłowej mogą również prowadzić do niezgodności schematu.- Unikaj tego błędu, definiując zapytanie widoku jako
arg_max(Timestamp, Column1, Column2, ...)
, lub używającautoUpdateSchema
opcji .
- Unikaj tego błędu, definiując zapytanie widoku jako
- Użycie
autoUpdateSchema
może prowadzić do nieodwracalnej utraty danych, gdy kolumny w tabeli źródłowej zostaną porzucone. - Monitoruj automatyczne wyłączanie zmaterializowanych widoków przy użyciu metryki MaterializedViewResult.
- Po rozwiązaniu problemów z niezgodnością widok powinien być jawnie ponownie włączony przy użyciu polecenia włącz zmaterializowany widok .
Wpływ rekordów pozyskanych do lub porzuconych z tabeli źródłowej
- Zmaterializowany widok przetwarza tylko nowe rekordy pozyskane do tabeli źródłowej. Rekordy, które są usuwane z tabeli źródłowej, uruchamiajączakresy usuwanianietrwałego usuwania/danych/ lub z powodu zasad przechowywania lub innego powodu, nie mają wpływu na zmaterializowany widok.
- Zmaterializowany widok ma własne zasady przechowywania, które są niezależne od zasad przechowywania tabeli źródłowej. Zmaterializowany widok może zawierać rekordy, które nie znajdują się w tabeli źródłowej.
Bazy danych obserwujących
- Nie można utworzyć zmaterializowanych widoków w kolejnych bazach danych. Bazy danych obserwowanych są tylko do odczytu i zmaterializowane widoki wymagają operacji zapisu.
- Zmaterializowane widoki zdefiniowane w bazach danych liderów mogą być odpytywane od swoich zwolenników, podobnie jak każda inna tabela w liderze.
- Użyj klastra lidera, aby monitorować zmaterializowane widoki bazy danych obserwowanych. Aby uzyskać więcej informacji, zobacz zmaterializowane widoki w kolejnych bazach danych.
Inne
- Nie można używać funkcji kursora na podstawie zmaterializowanych widoków.
- Eksport ciągły z zmaterializowanego widoku nie jest obsługiwany.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla