Tablespace temporaire

1. Rôle du tablespace temporaire Tablespace temporaire:rôle

Lorsqu’une requête nécessite un tri (clause ORDER BY par exemple), Oracle tente de faire le tri en mémoire, dans la PGA du processus serveur qui exécute la requête.

Si le tri ne tient pas en mémoire, Oracle le découpe en morceaux et trie chaque morceau individuellement en stockant des résultats intermédiaires sur disque dans des segments temporaires.

Un segment temporaire peut être créé dans n’importe quel tablespace mais ce n’est pas souhaitable pour les performances.

Oracle recommande donc de créer un tablespace dédié, de type TEMPORARY, pour stocker les segments temporaires, et de préférence un tablespace temporaire géré localement. Il est possible de créer un tablespace temporaire géré par le dictionnaire mais les performances sont alors limitées et ce choix est déprécié par Oracle ; c’est pourquoi nous ne l’évoquerons pas davantage. Tablespace temporaire:géré localement Tablespace temporaire:géré par le dictionnaire

Les requêtes qui peuvent demander un tri sont les suivantes :

  • SELECT ... ORDER BY ;

  • SELECT ... GROUP BY ;

  • SELECT DISTINCT ... ;

  • requêtes ensemblistes (UNION, INTERSECT, MINUS) ;

  • CREATE INDEX ;

  • calcul des statistiques ;

  • jointures par tri-fusion (sort merge join).

Utiliser...

Pour consulter la suite, découvrez le livre suivant :
couv_RI19CORAA.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Organisation du stockage à l'intérieur d'un tablespace
Suivant
Les fichiers gérés par Oracle (Oracle Managed Files)