Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle - Visualização materializada ainda acessível durante a atualização completa. Como é que isso funciona?


Há duas maneiras diferentes de ocorrer uma atualização completa:uma atualização atômica ou uma atualização não atômica. Uma atualização atômica simplesmente emite um DELETE para excluir todas as linhas na visualização materializada e, em seguida, faz um INSERT para inserir os novos dados. Tudo isso em uma única transação, portanto, a arquitetura de consistência de leitura de várias versões padrão da Oracle permite que a Oracle mostre a outras sessões os dados antigos até que a atualização seja concluída. Em uma atualização não atômica, o Oracle faz um TRUNCATE na visualização materializada e, em seguida, um INSERT de caminho direto para inserir os novos dados. Isso é substancialmente mais eficiente, mas como TRUNCATE é DDL, significa que os dados antigos não são visíveis para outras sessões durante a atualização.