Bonjour à tous,
Maitrisant les bases des rouages SQL, mais assez peu l'optimisation des temps de requêtes, je viens vers vous pour avoir un peu d'aide sur le sujet. Il se peut que la source de mon problème ne soit pas le SQL mais plutôt Oracle, auquel cas mon post ne figure pas dans le bon forum
J'ai besoin de ramener 160 lignes de ma base de données (dans un cas pessimiste, le nombre de lignes est cet ordre là). Pour info, maTable contient environ 1 120 000 lignes. Je fais donc un select de ce type :
Problème : la requête met 50sec à s'exécuter. Je tiens à signaler que monChamp est indexé. J'ai préféré faire une seule et grosse requête pour éviter les aller retours inutiles entre mon client et ma base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM maTable WHERE monChamp IN (*liste des 157 valeurs*);
- Avez-vous une idée d'amélioration d'un point de vue SQL ? (sous découpage en plusieurs requêtes?)
- Le problème se situe-t-il ailleurs?
- Si oui, avez-vous une idée d'amélioration autre?
Merci d'avance pour vos lumières !
Partager