Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle - Vista materializzata ancora accessibile durante l'aggiornamento completo. Come funziona?

Esistono due modi diversi in cui può avvenire un aggiornamento completo:un aggiornamento atomico o un aggiornamento non atomico. Un aggiornamento atomico emette semplicemente un DELETE per eliminare tutte le righe nella vista materializzata e quindi esegue un INSERT per inserire i nuovi dati. Tutto ciò avviene all'interno di una singola transazione, quindi l'architettura di coerenza di lettura multi-versione standard di Oracle consente a Oracle di mostrare ad altre sessioni i vecchi dati fino al completamento dell'aggiornamento. In un aggiornamento non atomico, Oracle esegue un TRUNCATE sulla vista materializzata e quindi un INSERT del percorso diretto per inserire i nuovi dati. Questo è sostanzialmente più efficiente, ma poiché TRUNCATE è DDL, significa che i vecchi dati non sono visibili ad altre sessioni durante l'aggiornamento.