Oracle
 sql >> Base de données >  >> RDS >> Oracle

faire en sorte que l'optimiseur utilise toutes les colonnes d'un index

nous avons effectivement trouvé la cause de ce problème. Nous utilisons JPA/JDBC et les types de date JDBC n'ont pas été modélisés correctement. Alors que le type de date oracle est avec une seconde précision, quelqu'un (je le déteste maintenant) a créé l'attribut "jour" dans notre entité de type java.sql.Timestamp (bien que ce ne soit que le jour sans heure). L'effet est qu'Oracle aura besoin pour convertir (utiliser une fonction sur) chaque entrée de la table pour en faire un horodatage avant qu'elle ne puisse être comparée au paramètre de requête Timestamp. De cette façon, l'index ne peut pas être utilisé correctement.