Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle - Vue matérialisée toujours accessible pendant l'actualisation complète. Comment cela marche-t-il?

Une actualisation complète peut se produire de deux manières différentes :une actualisation atomique ou une actualisation non atomique. Une actualisation atomique émet simplement un DELETE pour supprimer toutes les lignes de la vue matérialisée, puis effectue un INSERT pour insérer les nouvelles données. Tout cela se fait dans une seule transaction, de sorte que l'architecture de cohérence de lecture multi-versions standard d'Oracle permet à Oracle de montrer aux autres sessions les anciennes données jusqu'à la fin de l'actualisation. Dans une actualisation non atomique, Oracle effectue un TRUNCATE sur la vue matérialisée, puis un INSERT de chemin direct pour insérer les nouvelles données. C'est nettement plus efficace, mais puisque TRUNCATE est DDL, cela signifie que les anciennes données ne sont pas visibles pour les autres sessions lors de l'actualisation.