sql >> Base de Datos >  >> RDS >> Oracle

Consulta lenta en Java por JDBC pero no en otros sistemas (TOAD)

sin información adicional, solo podemos asumir que no se está utilizando un índice con la función to_number() aplicada a la columna. Como se muestra en esta pregunta SO , una conversión de tipo puede evitar que el optimizador use un índice.

En general:

  • cuando agrega una función a una columna (es decir:to_number(id) ) el optimizador no podrá usar los índices regulares en esa columna,
  • si es posible, debe usar la columna sin procesar. Por ejemplo:en lugar de WHERE trunc(col) = DATE '2009-08-27' debe usar:WHERE col >= DATE '2009-08-27' AND col < DATE '2009-08-28'
  • si realmente tiene que aplicar una función a una columna, puede usar un índice basado en funciones