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

Hibernate requête sql paramétrée lente et sessions oracle actives

Je ne sais pas si c'est votre problème, mais Oracle jette un coup d'œil aux valeurs des variables de liaison lors de l'analyse d'une requête, puis enregistre le plan de requête pour les exécutions futures afin qu'il n'ait pas à continuer à analyser la requête chaque fois qu'elle est exécutée avec un nouveau ensemble de variables de liaison. Mais de temps en temps, la requête est ré-analysée. Si certaines valeurs de variable de liaison inhabituelles sont transmises lors d'une analyse, un mauvais plan est stocké et utilisé. C'est un peu la malédiction des variables liées. Ils réduisent l'analyse mais peuvent inverser le plan sur des valeurs de variable de liaison atypiques lorsque les requêtes sont à nouveau analysées. Les conseils peuvent aider. Nous utilisons des profils SQL pour verrouiller les plans de requêtes avec des variables de liaison qui ont tendance à modifier les plans. Parfois, vous pouvez personnaliser quand et comment les statistiques de l'optimiseur sont collectées afin qu'un bon plan soit créé quelles que soient les valeurs transmises aux variables de liaison.

Quoi qu'il en soit, c'est quelque chose que je vois tout le temps et qui peut ou non être votre problème.

Bobby