sql >> Database >  >> RDS >> Oracle

Oracle - Wat gebeurt er bij het vernieuwen van een 'REFRESH FORCE ON DEMAND'-weergave met DBMS_MVIEW.REFRESH

Standaard (en deze standaard verandert in verschillende versies van Oracle), zal dat een volledige, atomaire verversing van de gematerialiseerde weergave uitvoeren. Dat betekent dat de gegevens in de gerealiseerde weergave worden verwijderd, de onderliggende query opnieuw wordt uitgevoerd en de resultaten in de gerealiseerde weergave worden geladen. U kunt het vernieuwen efficiënter maken door de waarde FALSE in te voeren voor de ATOMIC_REFRESH parameter, d.w.z.

dbms_mview.refresh( 'TESTRESULT', atomic_refresh => false );

Dat zorgt ervoor dat de gerealiseerde weergave wordt afgekapt, de query opnieuw wordt uitgevoerd en de resultaten worden ingevoegd in de gerealiseerde weergave via een directe padinvoeging. Dat zal efficiënter zijn dan een atomaire verversing, maar de gematerialiseerde weergave zal leeg zijn tijdens de verversing.




  1. Trigger in mysql veroorzaakt fout

  2. Oracle kritieke patch-update – oktober 2020

  3. Oracle JDBC-prestaties van ResultSet

  4. Optimaliseert SQL Server de DATEADD-berekening in de selectiequery?