.disable | .enable materialized-view
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Zakáže nebo povolí proces materializace pro materializované zobrazení.
Poznámka:
Vzhledem k tomu, že k zakázání nebo povolení materializovaného zobrazení souvisí některé důležité důsledky z hlediska výkonu, před použitím tohoto příkazu se ujistěte, že jste se s nimi seznámili. Další informace najdete v části Věnované výkonu povolení nebo zakázání materializovaných zobrazení .
Oprávnění
Abyste mohli tyto příkazy spustit, musíte mít aspoň materializovaný správce zobrazení.
Syntaxe
.enable
| disable
materialized-view
MaterializedViewName
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
MaterializedViewName | string |
✔️ | Název materializovaného zobrazení |
Návraty
Pokud je materializované zobrazení již ve stavu, ve kterém se příkaz pokouší nastavit, příkaz selže s chybou, která značí, že se jedná o případ.
V opačném případě vrátí podrobnosti o materializovaném zobrazení, jehož IsEnabled vlastnost byla změněna.
Výstupní schéma:
Name | Typ | Popis |
---|---|---|
Name | string |
Název materializovaného zobrazení |
Zdrojová tabulka | string |
Název zdrojové tabulky, na které je zobrazení definováno. |
Dotaz | string |
Definice dotazu materializovaného zobrazení |
MaterializedTo | datetime |
Maximální materializované časové razítko ingestion_time() ve zdrojové tabulce Další informace naleznete v tom , jak materializovaná zobrazení fungují. |
LastRun | datetime |
Čas posledního spuštění materializace |
LastRunResult | string |
Výsledek posledního spuštění Vrátí Completed pro úspěšná spuštění, jinak Failed . |
IsHealthy | bool |
true pokud je zobrazení považováno za zdravé, false jinak. Zobrazení je považováno za zdravé, pokud bylo úspěšně materializováno až do poslední hodiny (MaterializedTo je větší než ago(1h) ). |
IsEnabled | bool |
true při povolení zobrazení (viz Zakázání nebo povolení materializovaného zobrazení) |
Složka | string |
Složka, pod kterou se vytvoří materializované zobrazení. |
DocString | string |
Popis přiřazený materializovanému zobrazení |
AutoUpdateSchema | bool |
Určuje, jestli je zobrazení povolené pro automatické aktualizace. |
EffectiveDateTime | datetime |
Datum účinnosti zobrazení určeného během vytváření (viz .create materialized-view ). |
Zpětné vyhledávání | timespan |
Časový rozsah omezuje časové období, ve kterém jsou očekávány duplicity. |
Příklady
Povolení materializovaného zobrazení
Následující příkaz povolí materializované viewName:
.enable materialized-view ViewName
Výstup
Název | Zdrojová tabulka | Dotaz | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Složka | DocString | AutoUpdateSchema | EffectiveDateTime | Zpětné vyhledávání |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ViewName | TableName | TableName | summarize arg_max(Column3; *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Dokončeno | true | true | false (nepravda) | 2023-02-23T14:01:42.5172342Z |
Zakázání materializovaného zobrazení
Následující příkaz zakáže materializované viewName:
.disable materialized-view ViewName
Výstup
Název | Zdrojová tabulka | Dotaz | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Složka | DocString | AutoUpdateSchema | EffectiveDateTime | Zpětné vyhledávání |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ViewName | TableName | TableName | summarize arg_max(Column3; *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Dokončeno | true | false (nepravda) | false (nepravda) | 2023-02-23T14:01:42.5172342Z |
Poznámky
Zakázání materializovaných zobrazení
Materializované zobrazení lze zakázat některým z následujících způsobů:
- Automatické zakázání systému: Materializované zobrazení je automaticky zakázáno, pokud materializace selže s trvalou chybou. Tento proces může nastat v následujících instancích:
- Změny schématu, které jsou nekonzistentní s definicí zobrazení.
- Změny ve zdrojové tabulce, která vede k tomu, že materializovaný dotaz zobrazení je sémanticky neplatný.
- Explicitně zakažte materializované zobrazení: Pokud materializované zobrazení negativně ovlivňuje stav databáze (například spotřeba příliš velkého procesoru), zakažte zobrazení pomocí
.disable materialized-view
příkazu.
Materializovaná zobrazení a zabezpečení na úrovni řádků
Pokud je materializované zobrazení zakázané a zatímco je zobrazení zakázané, někdo definuje zásadu zabezpečení na úrovni řádků ve zdrojové tabulce zobrazení, ale materializované zobrazení nemá definované zásady zabezpečení na úrovni řádků, povolení zobrazení selže z bezpečnostních důvodů. Pokud chcete tuto chybu zmírnit, můžete:
- Definujte zásady zabezpečení na úrovni řádků v materializovaném zobrazení.
- Tuto chybu můžete ignorovat přidáním
allowMaterializedViewsWithoutRowLevelSecurity
vlastnosti do příkazu povolit zásadu. Příklad:
.enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)
Vliv na výkon povolení nebo zakázání materializovaných zobrazení
- Když je materializované zobrazení zakázané, materializace se pozastaví a nebude spotřebovávat prostředky z databáze. Dotazování materializovaného zobrazení je možné i v případě, že je zakázané, ale výkon může být nízký. Výkon zakázaného materializovaného zobrazení závisí na počtu záznamů přijatých do zdrojové tabulky, protože byl zakázán.
- Můžete povolit materializované zobrazení, které bylo dříve zakázáno. Po opětovném povolení bude materializované zobrazení pokračovat v materializaci z místa, kde skončil, a nebudou vynechány žádné záznamy. Pokud bylo zobrazení po dlouhou dobu zakázané, může trvat dlouhou dobu, než se chytí.
- Zakázání zobrazení se doporučuje jenom v případě, že máte podezření, že zobrazení má vliv na stav vaší databáze.