Bonjour 
Merci pour ta réponse !

Envoyé par
elsuket
Comme FCT_COUNT est une fonction que tu as définie, tu n'as pas besoin de FCT_COUNT() pour chaque ID.
Tu peux directement écrire ta requête en utilisant FCT_COUNT(ID_TABLE_B) dans le SELECT, en y ajoutant la jointure qui convient entre les tables A et B, à mon avis le traitement en sera bien plus rapide ...
Si je fais comme tu dis, soit un truc du genre...
SELECT A.id, A.name, FCT_COUNT(B.id) AS count FROM A, B WHERE [jointure qui va bien]
si j'ai bien compris ce que tu dis (hésite pas à me corriger si j'ai mal compris !) J'aurais plusieurs lignes pour obtenir ma valeur de FCT_COUNT pour chaque id de B non ? Il me faut toutes les informations dans la même ligne de résultat.

Envoyé par
elsuket
Si c'est la présentation que tu recherches, il est préférable de gérer cela dans l'application cliente

En fait, pour l'instant, j'effectue plusieurs requêtes séparées pour obtenir, au moment où j'en ai besoin, la valeur de FCT_COUNT pour l'id (je parcours les objets de ma table A dans une boucle dans l'appli). Seulement, j'ai pas mal de données et ça ralenti donc beaucoup le traitement. Je me suis dit que si une seule requête (par procédure stockée) me donnait directement toutes les informations plutôt que de le refaire à chaque fois ça serait plus rapide. Ai-je raison de me dire ça ?
Je suis pas une experte en base de données et j'ai pas vraiment eu l'occasion de me pencher sur les procédures stockées et les fonctions avant ça, donc je ne sais pas bien ce qui est mieux et ce qui est moins bien, si tu as des conseils surtout n'hésites pas 
Merci encore !
Partager