sql >> Databasteknik >  >> RDS >> Oracle

Oracle - Vad händer när du uppdaterar en "REFRESH FORCE ON DEMAND"-vy med DBMS_MVIEW.REFRESH

Som standard (och denna standard ändras i olika versioner av Oracle), kommer det att göra en fullständig, atomär uppdatering av den materialiserade vyn. Det betyder att data i den materialiserade vyn kommer att raderas, den underliggande frågan kommer att köras om och resultaten kommer att laddas in i den materialiserade vyn. Du kan göra uppdateringen mer effektiv genom att skicka in värdet FALSE för ATOMIC_REFRESH parameter, dvs.

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

Det kommer att göra att den materialiserade vyn trunkeras, frågan körs om och resultaten infogas i den materialiserade vyn via en direkt sökvägsinfogning. Det kommer att vara mer effektivt än en atomär uppdatering, men den materialiserade vyn kommer att vara tom under uppdateringen.




  1. Explicita JOINs vs implicita joins?

  2. spara List<Model class> till sqlite

  3. Ansluta till Oracle Database via Excel

  4. 4 sätt att lista vyerna i en SQLite-databas