Bonjour
J'ai une procédure avec plusieurs paramètres; ceux-ci sont utilisés dans la clause 'where' d'une requête en 'select'.
Quand je lance la procédure, elle a un plan tout pourri et dure longtemps
Lorsque je lance la requête 'select' directement en initialisant les variables, la requête tourne rapidement et prend un plan correct
En lançant des statistiques sur une des tables de la requête, cela a résolu le problème. Cette table contient une colonne date utilisée dans un des 'search argument' de la requête avec la date du jour passé en paramètre de la proc.
Donc avant que je lance les stats, l'histogramme de cette colonne date n'avait pas de ligne en date du jour.
J'ai l'impression que l'optimiseur se comporte différemment quand on lance un procédure et le select mais en mode ligne de commande
J'espère que c'est assez clair. Si je dois développer certains points, n'hésitez pas à me le dire
Jeeps64
Partager