Bonjour,
Je me casse la tête depuis 1h sur ce problème et je ne parviens pas à trouver ce qui cloche... si vous pouviez m'aider :-)
Soit là requête ci dessous:
qui prend beaucoup trop de temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT count(fd.file_id) FROM FILE_DECLARATION fd INNER JOIN PARTICIPATION_ACTOR pa on pa.file_id=fd.file_id INNER JOIN ACTOR orderer ON orderer.id= pa.actor_id AND (upper(orderer.DENOM_LNM) LIKE 'A%' ) where (upper(fd.CITY_LNM) = 'GENT') AND(fd.POSTCODE = '9000')
De fait, le résultat est 1400 et des poussières.
Si j'exécute la requête sans le count, on voit que la requête en elle même est très rapide (quelques millisecondes) mais que c'est le 'building output qui prend tout le temps.
Et j'imagine que quand on fait un count, c'est ce qui se passe côté Oracle (il effectue la requête rapidement, construit l'output et compte les lignes).
J'ai essayé plein de choses différentes, (count(*), count(1), ...) mais ça ne change rien
Y'aurait-il un moyen d'accélérer ce count?
ps: les indexes sont corrects (indexes sur upper, ...) mais, encore une fois, je ne pense pas que le problème soit là.
Merci :-)
Partager