sql >> Base de Datos >  >> RDS >> Oracle

Oracle:Vista materializada todavía accesible durante la actualización completa. ¿Como funciona esto?

Hay dos formas diferentes en que puede ocurrir una actualización completa:una actualización atómica o una actualización no atómica. Una actualización atómica simplemente emite un DELETE para eliminar todas las filas en la vista materializada y luego hace un INSERT para insertar los nuevos datos. Todo esto se encuentra dentro de una sola transacción, por lo que la arquitectura estándar de consistencia de lectura de varias versiones de Oracle permite que Oracle muestre a otras sesiones los datos antiguos hasta que se complete la actualización. En una actualización no atómica, Oracle realiza un TRUNCATE en la vista materializada y luego un INSERT de ruta directa para insertar los nuevos datos. Esto es sustancialmente más eficiente, pero dado que TRUNCATE es DDL, significa que los datos antiguos no son visibles para otras sesiones durante la actualización.