bonjour tout le monde,
j'ai besoin d'aide pour exécuter un équivalent de la clause limit de mysql sous oracle.
j'ai bien trouver des codes qui sont FONCTIONNELLEMENT correct, mais question temps d’exécution, c'est la calamité.
la requête suivante retourne bien le bon résultats, mais si on analyse bien, le requête interne génère un temps d’exécution énorme.
j'aimerai savoir s'il est possible de récupérer les tuples entre 2000 et 4000 sans passer par les 5000 premiers, et encore la table contient pour le moment plus 1 000 000 de tuples DISTINCT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select * from (select req.*, rownum rnum from (select distinct(ACCOUNT_NUM) from SCHEMA.TABLE where rownum < 5000 order by ACCOUNT_NUM asc) req where ROWNUM < 4000) where rnum >= 2000
merci pour votre aide.
Partager