sql >> Databáze >  >> RDS >> Oracle

Rychlé obnovení při potvrzení zhmotněného pohledu

Nevím, jestli problém stále přetrvává, ale když jsem se podíval na článek, který jste poskytli, všiml jsem si něčeho (což by mohlo být řešením zde):

PO POTVRZENÍ Obnovit

Materializovaný pohled může být obnoven automaticky pomocí metody ON COMMIT. Proto kdykoli dojde k potvrzení transakce, která aktualizovala tabulky, na kterých je definován materializovaný pohled, tyto změny se automaticky projeví v materializovaném pohledu. Výhodou použití tohoto přístupu je, že si nikdy nebudete muset pamatovat obnovení materializovaného pohledu. Jedinou nevýhodou je, že čas potřebný k dokončení odevzdání bude o něco delší z důvodu dodatečného zpracování. V datovém skladu by to však neměl být problém, protože je nepravděpodobné, že by se souběžné procesy pokoušely aktualizovat stejnou tabulku.

  • Všimněte si tučné čáry.

Pak máme:

Tabulka 7-1 Metody obnovení NA VYŽÁDÁNÍ

Možnost aktualizace Popis parametruCOMPLETE C Obnoví se přepočtem definujícího dotazu materializovaného pohledu.

RYCHLE F Obnovuje se postupným aplikováním změn na materializované zobrazení . Pro místní materializované pohledy volí metodu obnovy, kterou optimalizátor odhadne jako nejúčinnější. Uvažované metody obnovy jsou FAST a FAST_PCT založené na protokolu.

FAST_PCT P Aktualizuje se přepočítáním řádků v materializovaném pohledu ovlivněných změněnými oddíly v tabulkách podrobností.

FORCE ? Pokusy o rychlé obnovení. Pokud to není možné, provede úplnou aktualizaci. Pro místní materializované pohledy zvolí metodu obnovení, kterou optimalizátor odhadne jako nejúčinnější. Uvažované metody obnovy jsou založené na protokolu FAST, FAST_PCT a COMPLETE.

  • Všimněte si tučných čar.
  • Osobně preferuji možnost FORCE.

Můžete mi prosím říct, jestli se to po nějaké době bude opakovat (záleží na parametrech DB a stroji, na kterém běží, takže vám ani nedokážu naznačit jak moc)?

Když je možné rychlé obnovení

Ne všechna zhmotněná zobrazení mohou být rychle obnovitelná. Použijte proto balíček DBMS_MVIEW.EXPLAIN_MVIEW určit, jaké metody obnovy jsou dostupné pro materializovaný pohled.

Pokud si nejste jisti, jak učinit materializovaný pohled rychle obnovitelným, můžete použít DBMS_ADVISOR.TUNE_MVIEW procedura, která poskytuje skript obsahující příkazy potřebné k vytvoření rychle obnovitelného materializovaného pohledu.

Na zdraví



  1. Nelze použít DROP TABLE IF EXISTS v schema.sql pro aplikaci Spring Boot

  2. Příklady FLOOR() v SQL Server

  3. Jaké je největší ID číslo, které může autoinkrement vytvořit v mysql

  4. odstranit řádek v mé databázi pomocí php pdo