IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Zone de tri + tuning besoin d'explications


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Points : 49
    Points
    49
    Par défaut Zone de tri + tuning besoin d'explications
    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.

  2. #2
    Membre éclairé Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Points : 773
    Points
    773
    Par défaut
    L'optimisation de requête n'est pas à confondre avec l'optimisation des espaces mémoires Oracle (Qui peuvent par domino influencer la vitesse des requêtes).

    Ton POWERPOINT semble parler du deuxième cas.

    Le calcul me paraît personnellement hasardeux car suivant la chaotique des lignes récupérées ton tri sera plus ou moins rapide et donc moins coûteux en I/O disque. C'est de l'informatique, pas du voudou...

    Une chose est sure, plus ta zone de tri sera grande plus vite iront tes gros tris car le nombre d'aller/retour entre la zone temporaire et la mémoire seront plus faible.

    Le mieux est d'analyser le comportement du moteur Oracle après une journée de travail et récupérer les statistiques liées aux tris. Si pour une base OLTP le ratio entre le nombre de tris mémoires et le nombre de tris disques est supérieur à 95% tu peux considérer la situation comme stable.

    Administrer Oracle est avant tout un métier basé sur l'observation et non les prédictions...

    Philippe CEROU,

    Architecte Systèmes & Bases de données.

  3. #3
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Citation Envoyé par philcero Voir le message
    Le calcul me paraît personnellement hasardeux car suivant la chaotique des lignes récupérées ton tri sera plus ou moins rapide et donc moins coûteux en I/O disque. C'est de l'informatique, pas du voudou...
    => Bof.
    A priori, ce genre de calcul se base sur de la complexité (de l'algorithme, quoi). Un DBA, c'est peut-être beaucoup d'expérimentation, mais je ne pense pas qu'on puisse considérer une approche algorithmique comme étant du vodoo...

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  4. #4
    Membre éclairé Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Points : 773
    Points
    773
    Par défaut
    Comme je le disais, c'est la chaotique des lignes qui va le plus influencer le coût du tri par bloc de N lignes.

    Si tu ramènes tes lignes et qu'elles sont déjà presque dans l'ordre (C'est lié totalement au hasard de la création des données en fait) les allez-retour pour le tri seront peu nombreux et le coût faible.

    Si tu ramènes tes lignes dans un ordre totalement mélangées, les allez-retour pour le tri seront plus nombreux et le coût élevé.

    L'approche algorithmique te donne un indicateur, mais tu ne peux en aucun cas te baser dessus pour en déduire la performance.
    Philippe CEROU,

    Architecte Systèmes & Bases de données.

  5. #5
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Points : 49
    Points
    49
    Par défaut
    Merci Messieurs, donc j'aurai affaire a une perpetuelle inconnu quant a ce calcul à savoir la maniére dont sont organisé les lignes dans ma table.

    Je vais laisser un peu de côté ce calcul a dormir debout et passer a la suite.

    Comme dit avant je m'intéresse a l'optimisation de requête, disposez vous de liens avec méthodes, idées et astuces concernant ce sujet ?

Discussions similaires

  1. [Struts-Layout] besoin d'explications sur le tri
    Par pitit777 dans le forum Struts 1
    Réponses: 8
    Dernier message: 21/09/2007, 16h05
  2. [C#] J'aurais besoin d'explication
    Par Roach- dans le forum Windows Forms
    Réponses: 18
    Dernier message: 10/03/2005, 16h00
  3. Besoin d'explications sur float et l'élasticité !
    Par KneXtasY dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/01/2005, 15h15
  4. Zone de tri
    Par blids dans le forum Administration
    Réponses: 7
    Dernier message: 10/05/2004, 11h37
  5. [Foreign Key] Besoin d'explication.
    Par Andry dans le forum Débuter
    Réponses: 4
    Dernier message: 28/05/2003, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo