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

Consulta lenta em Java por JDBC, mas não em outros sistemas (TOAD)


sem informações adicionais, podemos apenas supor que um índice não está sendo usado com a função to_number() aplicada à coluna. Conforme mostrado em esta pergunta SO , uma conversão de tipo pode impedir que o otimizador use um índice.

No geral:
  • quando você adiciona uma função a uma coluna (por exemplo:to_number(id) ), o otimizador não poderá usar os índices regulares nessa coluna,
  • se for possível, você deve usar a coluna raw. Por exemplo:em vez de WHERE trunc(col) = DATE '2009-08-27' você deve usar:WHERE col >= DATE '2009-08-27' AND col < DATE '2009-08-28'
  • se você realmente precisa aplicar uma função a uma coluna, pode usar um índice baseado em função