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

Evitando chamadas frequentes para a mesma visão dentro de um procedimento Oracle


Uma visualização é uma consulta armazenada; em si, ele não contém nenhum dado. Se seu código for complexo e buscar dados de várias tabelas, usando diferentes condições, agregações, outros enfeites, pode levar algum tempo para acessar os dados.

Na sua situação, talvez uma tabela temporária (GTT) global (ou privada; dependendo da versão do Oracle que você usa) ajude.
  • você cria uma vez
  • no início do procedimento, insira os dados da visualização nela
  • o resto do procedimento funcionaria com aqueles preparados dados
  • quando a sessão (ou transação; dependendo de como você configura o GTT) termina, os dados da tabela são perdidos
    • a tabela pode ser reutilizada na próxima vez que você executar o procedimento