.disable | .enable materialized-view
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer
Wyłącza lub włącza proces materializacji dla zmaterializowanego widoku.
Uwaga
Ponieważ istnieją pewne ważne implikacje dotyczące wydajności związane z wyłączaniem/włączaniem zmaterializowanego widoku, przed kontynuowaniem korzystania z tego polecenia upewnij się, że zapoznasz się z nimi. Aby uzyskać więcej informacji, zobacz sekcję Wpływ na wydajność włączania/wyłączania zmaterializowanych widoków .
Uprawnienia
Aby uruchomić te polecenia, musisz mieć co najmniej zmaterializowanego administratora widoku.
Składnia
.enable
| disable
materialized-view
MaterializedViewName
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
MaterializedViewName | string |
✔️ | Nazwa zmaterializowanego widoku. |
Zwraca
Jeśli zmaterializowany widok jest już w stanie, w którym polecenie próbuje go ustawić, polecenie kończy się niepowodzeniem z błędem wskazującym, że tak jest.
W przeciwnym razie zwraca szczegóły dotyczące zmaterializowanego widoku, którego właściwość IsEnabled została zmieniona.
Schemat danych wyjściowych:
Nazwisko | Pisz | opis |
---|---|---|
Nazwa/nazwisko | string |
Nazwa zmaterializowanego widoku. |
Tabela źródłowa | string |
Nazwa tabeli źródłowej, w której zdefiniowano widok. |
Query | string |
Definicja zapytania zmaterializowanego widoku. |
MaterializedTo | datetime |
Maksymalna zmaterializowana sygnatura czasowa ingestion_time() w tabeli źródłowej. Aby uzyskać więcej informacji, zobacz jak działają zmaterializowane widoki. |
LastRun | datetime |
Czas ostatniego uruchomienia materializacji. |
LastRunResult | string |
Wynik ostatniego uruchomienia. Zwraca wartość Completed dla pomyślnych przebiegów, w przeciwnym razie Failed . |
IsHealthy | bool |
true jeśli widok jest uznawany za w dobrej kondycji, false w przeciwnym razie. Widok jest uznawany za w dobrej kondycji, jeśli został pomyślnie zmaterializowany do ostatniej godziny (MaterializedTo jest większy niż ago(1h) ). |
IsEnabled | bool |
true gdy widok jest włączony (zobacz Wyłączanie lub włączanie zmaterializowanego widoku). |
Folder | string |
Folder, w którym jest tworzony zmaterializowany widok. |
DocString | string |
Opis przypisany do zmaterializowanego widoku. |
AutoUpdateSchema | bool |
Określa, czy widok jest włączony dla aktualizacji automatycznych. |
EffectiveDateTime | datetime |
Data wejścia w życie widoku określona w czasie tworzenia (zobacz .create materialized-view ). |
Wyszukiwanie zwrotne | timespan |
Przedział czasu ograniczający okres, w którym oczekiwane są duplikaty. |
Przykłady
Włączanie zmaterializowanego widoku
Następujące polecenie umożliwia zmaterializowany widok ViewName:
.enable materialized-view ViewName
Wyjście
Nazwisko | Tabela źródłowa | Query | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Folder | DocString | AutoUpdateSchema | EffectiveDateTime | Wyszukiwanie zwrotne |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Nazwa widoku | TableName | TableName | summarize arg_max(Column3, *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Ukończone | prawda | prawda | fałsz | 2023-02-23T14:01:42.5172342Z |
Wyłączanie zmaterializowanego widoku
Następujące polecenie wyłącza zmaterializowany widok ViewName:
.disable materialized-view ViewName
Wyjście
Nazwisko | Tabela źródłowa | Query | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Folder | DocString | AutoUpdateSchema | EffectiveDateTime | Wyszukiwanie zwrotne |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Nazwa widoku | TableName | TableName | summarize arg_max(Column3, *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Ukończone | prawda | fałsz | fałsz | 2023-02-23T14:01:42.5172342Z |
Uwagi
Wyłączanie zmaterializowanych widoków
Zmaterializowany widok można wyłączyć w dowolny z następujących sposobów:
- Automatyczne wyłączanie przez system: zmaterializowany widok jest automatycznie wyłączony, jeśli materializacja zakończy się niepowodzeniem z powodu trwałego błędu. Ten proces może wystąpić w następujących wystąpieniach:
- Zmiany schematu niezgodne z definicją widoku.
- Zmiany w tabeli źródłowej, które powodują, że zmaterializowane zapytanie widoku jest semantycznie nieprawidłowe.
- Jawnie wyłącz zmaterializowany widok: jeśli zmaterializowany widok ma negatywny wpływ na kondycję bazy danych (na przykład zużywanie zbyt dużej ilości procesora CPU), wyłącz widok przy użyciu
.disable materialized-view
polecenia .
Zmaterializowane widoki i zabezpieczenia na poziomie wiersza
Jeśli zmaterializowany widok jest wyłączony, a widok jest wyłączony, ktoś definiuje zasady zabezpieczeń na poziomie wiersza w tabeli źródłowej widoku, ale zmaterializowany widok nie ma zdefiniowanych zasad zabezpieczeń na poziomie wiersza, włączenie widoku kończy się niepowodzeniem ze względów bezpieczeństwa. Aby wyeliminować ten błąd, możesz wykonać następujące czynności:
- Zdefiniuj zasady zabezpieczeń na poziomie wiersza w zmaterializowanym widoku.
- Wybierz opcję ignorowania błędu przez dodanie
allowMaterializedViewsWithoutRowLevelSecurity
właściwości do polecenia włącz zasady. Na przykład:
.enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)
Wpływ na wydajność włączania/wyłączania zmaterializowanych widoków
- Gdy zmaterializowany widok zostanie wyłączony, materializacja zostanie wstrzymana i nie będzie zużywać zasobów z bazy danych. Wykonywanie zapytań dotyczących zmaterializowanego widoku jest możliwe nawet wtedy, gdy jest wyłączone, ale wydajność może być niska. Wydajność wyłączonego zmaterializowanego widoku zależy od liczby rekordów pozyskanych do tabeli źródłowej, ponieważ została wyłączona.
- Możesz włączyć zmaterializowany widok, który został wcześniej wyłączony. Po ponownym włączeniu zmaterializowany widok będzie nadal materializował się od momentu, w którym został pominięty, a żadne rekordy nie zostaną pominięte. Jeśli widok został wyłączony przez długi czas, nadrobienie zaległości może zająć dużo czasu.
- Wyłączenie widoku jest zalecane tylko wtedy, gdy podejrzewasz, że widok ma wpływ na kondycję bazy danych.