|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Bonjour,
J'ai un certain nombre de procédures PL/SQL que je dois reprendre, j'aurai voulu au passage les optimiser. Après quelques recherches je n'ai trouvé qu'un seul point sur lequel on peut faire jouer le temps d'exécution --> les curseurs. Mais je n'ai pas très bien compris le focntionnement. Si une bonne âme pouvait m'expliquer ça serait super !! Sinon connaissez-vous d'autres optimisation possibles ?
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 523 ![]() |
Lis cette article de notre maître Zappaïen Sheikyerbouti :
http://sheikyerbouti.developpez.com/...timisation.pdf L'article ne semble pas très récent mais il contient un nombre de pistes pertinentes.
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
20
|
|
|
#3 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Merci beaucoup pour la source
![]() Je m'y met de suite
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Bon je vais mettre ce sujet en résolu.
J'avais bien suivies les indications données par le doc mais malheureusement à partir du moment où il y a trop de données sur lesquelles boucler l'optimisation est une illusion
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Inscription : août 2009 Messages : 779 ![]() |
Citation:
Par contre, c'est sûr que même en optimisant "à fond", on finit toujours par atteindre un minimum qui peut ne pas être négligeable en temps quand le volume est très important. Tu as viré tes curseurs ? C'est souvent une bonne piste |
|
|
|
10
|
|
|
#6 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Je n'ai pas viré mes curseurs car je n'ai pas réussi à les transformer en ensemblistes.
Je met ma requête en pièce jointe, peut-être que vous pourrez m'aider. Il y a certainement des choses à améliorer...
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#7 | ||
![]() ![]() |
Difficile de regarder tout en détail, mais l'idée c'est plutôt que d'avoir quatre curseurs on travaille sur une seule requête, dans votre cas ça pourrait être :
Code :
Il faut sûrement aussi adapter le SELECT au niveau des NVL.
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#8 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Ok merci je vais creuser dans ce sens.
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Bon les LEFT OUTER JOIN ne marchent pas, normal je suis en 8i (j'ai pas réagis de suite car j'alterne 10g et 8i). Et on en aurait besoin.
J'essaye de voir si je ne peux pas regrouper les requêtes autrement. A priori un seul des curseur aurait besoin de se traduire par un LEFT OUTER.
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#10 | ||
![]() ![]() |
Méa culpa pour la 8i, il faut changer le FROM ainsi :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#11 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Je reviens après avoir effectué mes tests et la solution de n'avoir un seul curseur n'est pas la meilleure. En effet mon temps se rallonge d'environ 30 minutes en passant de 4 curseurs à 1 seul
D'autres idées ? Parce que je suis à court... Sachant qu'en plus cette procédure ne tourne pas sur la base la plus grande...
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com