Bonjour
Voilà, je suis en SQL-8 sur SQL-Server 2000.
Je cherche à retrouver les 5 premières commandes de chaque clients...
Ma table (#test2) a deux clés pour le no de client (hcust et hship). En revanche nous n'avons qu'un seul numéro de commande (hord).
Voici ma requête :
Si ma table #test2 ne contient que quelques enregistrements, celle fonctionne bien. Mais dans les faits, je dois traiter 360'627 lignes... et lorsque je tente d'exécuter ma requête... après 20 minutes je me suis tannée et je l'ai arrêtée!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select x1.hcust, x1.hship, x1.hord from #test2 x1 left join #test2 x2 on x2.hcust = x1.hcust and x2.hship = x1.hship and x2.hord > x1.hord group by x1.hcust, x1.hord, x1.hship having count(*) < 5 order by 1,2
Que puis-je faire pour optimiser le tout ?
Merci beaucoup pour votre aide !








Répondre avec citation





Partager