Bonjour,

Je dois optimiser une requête trop longue à exécuter sur une base Oracle 9.2.

Cette requête assez complexe de 500 lignes comprends notamment l'exécution d'une sous-requête :

select count(*) from ... where ...

Cette sous-requête est exécuté 5 fois dans la requête principale avec la même syntaxe.

Je me dis que l'optimiseur Oracle est capable de constater la répétition de cette sous-requête et qu'il ne l'effetuera qu'une seule fois mais je n'en suis pas certain ...

Serait-il possible en dehors de l'aspect optimisation, pour l'aspect lisibilité et concision, de procéder au début de mon script à l'exécution de cette sous-requête dont le résultat serait stocké dans une variable spéciale ou pourquoi pas dans une table non physique ?

Je vous remercie de vos réponses.