Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Szybkie odświeżanie po zatwierdzeniu zmaterializowanego widoku

Nie wiem, czy problem nadal występuje, ale gdy spojrzałem na dostarczony przez Ciebie artykuł, zauważyłem coś (co może być tutaj rozwiązaniem):

ODŚWIEŻANIE PRZY POMOCY

Widok zmaterializowany może być odświeżany automatycznie przy użyciu metody ON COMMIT. Dlatego za każdym razem, gdy transakcja zatwierdza, która zaktualizowała tabele, w których zdefiniowany jest widok zmaterializowany, zmiany te są automatycznie odzwierciedlane w widoku zmaterializowanym. Zaletą takiego podejścia jest to, że nigdy nie trzeba pamiętać o odświeżaniu zmaterializowanego widoku. Jedyną wadą jest to, że czas wymagany do zakończenia zatwierdzenia będzie nieco dłuższy ze względu na dodatkowe przetwarzanie. Jednak w hurtowni danych nie powinno to stanowić problemu, ponieważ jest mało prawdopodobne, aby współbieżne procesy próbowały zaktualizować tę samą tabelę.

  • Zwróć uwagę na pogrubioną linię.

Następnie mamy:

Tabela 7-1 Metody odświeżania NA ŻĄDANIE

Opcja odświeżania Parametr OpisKOMPLETNE C Odświeża, ponownie obliczając definiujące zapytanie zmaterializowanego widoku.

SZYBKO F Odświeża przez stopniowe wprowadzanie zmian do zmaterializowanego widoku . W przypadku lokalnych widoków zmaterializowanych wybiera metodę odświeżania, którą optymalizator ocenia jako najbardziej wydajną. Rozważane metody odświeżania to FAST i FAST_PCT oparte na logach.

FAST_PCT P Odświeża poprzez ponowne obliczenie wierszy w zmaterializowanym widoku, na który wpływają zmienione partycje w tabelach szczegółów.

SIŁA ? Próbuje szybko odświeżyć. Jeśli nie jest to możliwe, wykonuje pełne odświeżenie. W przypadku lokalnych widoków zmaterializowanych wybiera metodę odświeżania, którą optymalizator ocenia jako najbardziej wydajną. Rozważane metody odświeżania to FAST, FAST_PCT i COMPLETE.

  • Zwróć uwagę na pogrubione linie.
  • Osobiście wolę opcję SIŁA.

Czy mógłbyś powiedzieć, czy to się powtórzy po pewnym czasie (w zależności od parametrów DB i maszyny, na której działa, więc nie mogę nawet podpowiedzieć, ile)?

Kiedy szybkie odświeżanie jest możliwe

Nie wszystkie zmaterializowane widoki mogą być szybko odświeżane. Dlatego użyj pakietu DBMS_MVIEW.EXPLAIN_MVIEW aby określić, jakie metody odświeżania są dostępne dla zmaterializowanego widoku.

Jeśli nie masz pewności, jak szybko odświeżać widok zmaterializowany, możesz użyć DBMS_ADVISOR.TUNE_MVIEW procedura, która zapewnia skrypt zawierający instrukcje wymagane do utworzenia szybko odświeżalnego zmaterializowanego widoku.

Pozdrawiam



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wydajne podejście do zapełniania tabeli tymczasowej

  2. JDBC ResultSet getDate traci precyzję

  3. Oracle SQL Developer — błąd:słowo kluczowe FROM nie zostało znalezione w oczekiwanym miejscu

  4. Jaka jest różnica między zmiennymi PLSQL Bind a zmiennymi hosta?

  5. Jak uruchomić konkretny skrypt po połączeniu się z Oracle za pomocą szyn?