Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Schnelle Aktualisierung beim Festschreiben der materialisierten Ansicht

Ich weiß nicht, ob das Problem weiterhin besteht, aber als ich einen Blick auf den von Ihnen bereitgestellten Artikel geworfen habe, ist mir etwas aufgefallen (das hier vielleicht die Lösung sein könnte):

ON COMMIT Refresh

Eine materialisierte Ansicht kann mit der Methode ON COMMIT automatisch aktualisiert werden. Daher werden diese Änderungen immer dann automatisch in der materialisierten Ansicht widergespiegelt, wenn eine Transaktion festgeschrieben wird, die die Tabellen aktualisiert hat, für die eine materialisierte Ansicht definiert ist. Der Vorteil dieses Ansatzes besteht darin, dass Sie nie daran denken müssen, die materialisierte Ansicht zu aktualisieren. Der einzige Nachteil ist, dass die zum Abschließen des Commit erforderliche Zeit aufgrund der zusätzlichen Verarbeitung etwas länger sein wird. In einem Data Warehouse sollte dies jedoch kein Problem darstellen, da es unwahrscheinlich ist, dass gleichzeitige Prozesse versuchen, dieselbe Tabelle zu aktualisieren.

  • Beachten Sie die fette Linie.

Dann haben wir:

Tabelle 7-1 On-Demand-Aktualisierungsmethoden

Aktualisierungsoption Parameter BeschreibungCOMPLETE C Aktualisiert durch Neuberechnung der definierenden Abfrage der materialisierten Ansicht.

SCHNELL F Aktualisiert durch schrittweises Anwenden von Änderungen auf die materialisierte Ansicht . Für lokal materialisierte Ansichten wählt es die Aktualisierungsmethode, die vom Optimierer als am effizientesten eingeschätzt wird. Die berücksichtigten Aktualisierungsmethoden sind protokollbasiertes FAST und FAST_PCT.

FAST_PCT P Aktualisiert durch Neuberechnung der Zeilen in der materialisierten Ansicht, die von geänderten Partitionen in den Detailtabellen betroffen sind.

KRAFT ? Versucht eine schnelle Aktualisierung. Wenn dies nicht möglich ist, führt es eine vollständige Aktualisierung durch. Für lokal materialisierte Ansichten wählt es die Aktualisierungsmethode, die vom Optimierer als am effizientesten eingeschätzt wird. Die berücksichtigten Aktualisierungsmethoden sind protokollbasiert FAST, FAST_PCT und COMPLETE.

  • Beachten Sie die fetten Linien.
  • Ich persönlich bevorzuge die FORCE-Option.

Können Sie bitte sagen, ob dies nach einiger Zeit wieder auftritt (abhängig von den Parametern der DB und der Maschine, auf der sie läuft, also kann ich Ihnen nicht einmal sagen, wie viel)?

Wenn eine schnelle Aktualisierung möglich ist

Nicht alle materialisierten Ansichten können schnell aktualisiert werden. Verwenden Sie daher das Paket DBMS_MVIEW.EXPLAIN_MVIEW um festzustellen, welche Aktualisierungsmethoden für eine materialisierte Ansicht verfügbar sind.

Wenn Sie nicht sicher sind, wie Sie eine materialisierte Ansicht schnell aktualisierbar machen, können Sie DBMS_ADVISOR.TUNE_MVIEW verwenden Prozedur, die ein Skript bereitstellt, das die Anweisungen enthält, die zum Erstellen einer schnell aktualisierbaren materialisierten Ansicht erforderlich sind.

Prost