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

Consulta sql parametrizada do Hibernate sessões lentas e ativas do Oracle


Não sei se esse é o seu problema, mas o Oracle espia os valores da variável de vinculação ao analisar uma consulta e salva o plano de consulta para execuções futuras, para que não precise continuar analisando a consulta toda vez que for executada com um novo conjunto de variáveis ​​de ligação. Mas de vez em quando a consulta é analisada novamente. Se alguns valores de variáveis ​​de ligação incomuns forem passados ​​durante uma análise, um plano incorreto será armazenado e usado. É uma espécie de maldição de variáveis ​​de ligação. Eles reduzem a análise, mas podem inverter o plano em valores atípicos de variáveis ​​de ligação quando as consultas são analisadas novamente. As dicas podem ajudar. Usamos perfis SQL para bloquear planos de consultas com variáveis ​​de ligação que tendem a alterar planos. Às vezes, você pode personalizar quando e como as estatísticas do otimizador são reunidas para que um bom plano seja criado, independentemente de quais valores são passados ​​para as variáveis ​​de ligação.

De qualquer forma, é algo que vejo o tempo todo e pode ou não ser o seu problema.

Bobby