Voila j'espere pouvoir bien m'exprimer de maniére intelligible. Je suis DBA Junior et j'etudi ces derniers temps l'optimisation de requête; je dispose d'un powerpoint ambigu au sein de mon entreprise qui me perd plus qu'autre chose.

Donc rentrons le vif du sujet le Tri Externe:

Donc la premiére diapo m'indique le fonctionnement de la zone de de tri (PGA a partir de la 9 et sort_area_size sous la 8).

1) On remplit la mémoire, on trie, on vide dans des fragments, et on recommence.

Il y a un petit schéma fléché partant d'un fichier de données vers la zone de tri puis vers le tablespace temporaire dc sur disque.

2) On groupe les fragments par M (taille de la zone de tri) et on fusionne.

cout: autant de lectures/ecritures du fichier que de niveau de fusion.

la je commence a être perdu avec les niveau de fusion

Enfin la 3 eme diapo qui me paume complet avec un exemple:

3)Soit un fichier de 75000 pages de 4 ko, soit 307 MO

* M(zone de tri) >307 Mo : une lecture, soit 307
*M= 2 Mo, soit 500 pages

(a) le tri donne 307/2 =154 fragments de 2 Mo ( placé dc en attente sur le tablespace temporaire enfin je suppose)


(b) On fait la fusion avec 154 pages (pkoi y me parle a nouveau de pages ?)

Cout total de 714( d'ou peut bien sortir ce chiffre) + 307 = 1017Mo

NB: Il faut allouer beaucoup de mémoire pour passer de 1 a 0 niveau de tri.

Donc ma question est la suivante, comment evaluer a plus d'un giga la place nécessaire sur le temp avec un M(zone de tri) a 2 Mo pour un fichier de 307 Mo. Car la je vois pas la logique de ce calcul explicité plus haut.

Sinon si vous avez des liens pertinents et en Français sur une approche général de l'optimisation de requête je vous en serai reconnaissant.