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

Administration Oracle Discussion :

Réorganisation d'une table/base


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 73
    Points : 47
    Points
    47
    Par défaut Réorganisation d'une table/base
    Bonjour,

    J'ai la création d'un index qui prends de plus en plus de temps.
    Au début 20 minutes, aujourd'hui 2 à 3h.

    Je pense qu'en effectuant une réorganisation de la table, je suis susceptible de retrouver mon temps initial.

    Cette table est fragmenté à 15%, cependant lorsque je recherche sur le net on parle souvent des réorgs de base dans le but de gagner de l'espace.
    Je pense qu'on gagne aussi beaucoup en performance, car pour moi la réorg permet surtout de remettre les tables d'une façon contiguë (pour un certain temps du moins). Le gain de place se fait plus par "effet de bord".

    Quelqu'un peut il me confirmer ou m'infirmer ce que j'avance ?

    J'ai du mal à comprendre un détail :

    Lorsque je dit que ma table est fragmenté, je me base sur une requête de développez.net qui permet de savoir si un table est fragmenté et consomme plus d'espace que nécéssaire. Or pour moi une table est fragmenté lorsqu'elle est séparé physiquement sur le disque.

    L'ilustration d'une table fragmenté de développez.net est celle ci :
    Nom : hwm.png
Affichages : 646
Taille : 46,7 Ko

    Il est expliqué dans le cours associé que déplacer les tables permet de gagner de l'espace. Nous sommes d'accords, mais les tables ne sont pas seulement "tassé" elles sont également recréer de façon contiguë ce qui permet selon moi de gagner en performance.

    Est ce que je fait fausse route ? Sinon y a t il une requête qui permet de mettre ce problème en évidence afin que je puisse détecter ce problème plus facilement ?

    Merci pour votre aide

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Le terme de 'fragmentation' peut s'appliquer à beaucoup de choses.
    Ici la traduction des posts de Jonathan Lewis sur ce sujet:
    http://blog.developpez.com/pachot/jl_fragmentation_1/
    http://blog.developpez.com/pachot/jl_fragmentation_2/
    http://blog.developpez.com/pachot/jl_fragmentation_3/
    http://blog.developpez.com/pachot/jl_fragmentation_4/

    Mais dans la pluspart des cas, on défragmente pour un gain de place, pas pour des performances. Est-ce que tu sors plus rapidement d'un parking où l'on a évité au maximum d'avoir des espaces vides, ou au contraire d'un parking où les couloirs sont larges?

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 73
    Points : 47
    Points
    47
    Par défaut
    Merci Pachot

    Réponse très précise comme d'habitudes, je cherchais justement ce genre d'article.

    Comme Oracle lis indépendamment chaque extend, qu'il soit contiguë ou non. Normalement ça ne dois pas avoir d'impact. C'est donc surtout un gain de place, qu'un gain de performance.

  4. #4
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par skyarnangel Voir le message
    Comme Oracle lis indépendamment chaque extend, qu'il soit contiguë ou non. Normalement ça ne dois pas avoir d'impact. C'est donc surtout un gain de place, qu'un gain de performance.
    Exactement.

    Il n'y a que lors de l'accès par index où on va avoir de moins bonnes perfs si on doit aller voir des lignes de la table dispersées un peu partout, par rapport à une table bien compacte. Parce qu'on devra lire plus de blocs et parce qu'il y a moins de chanve de les trouver en cache. Mais par contre une table trop compacte va rendre les update moins performants s'ils n'ont pas la place pour grossir.

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  5. #5
    Membre régulier
    Homme Profil pro
    Consultant
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 88
    Points
    88
    Par défaut
    Bonjour ,
    Je me permets de rajouter que la défragmentation améliore les opérations de full scan car moins de blocs à lire
    Donc défragmentation et perfs c'est liées...

  6. #6
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par devkais Voir le message
    Bonjour ,
    Je me permets de rajouter que la défragmentation améliore les opérations de full scan car moins de blocs à lire
    Donc défragmentation et perfs c'est liées...
    Oui, exact. Mais cela ne se produit que exceptionellement, lors d'une grosse purge par exemple.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  7. #7
    Membre actif

    Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2008
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2008
    Messages : 167
    Points : 265
    Points
    265
    Par défaut
    dans le cas de création d'un index il y a bien un full scan donc une reorganisation de la table va probablement améliorer les performances

  8. #8
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par a.presles Voir le message
    dans le cas de création d'un index il y a bien un full scan donc une reorganisation de la table va probablement améliorer les performances
    Exact, mais la création d'un index n'est pas une opération courante. On ne va pas réorganiser la table pour pouvoir crééer un index plus rapidement, car la reorg sera plus longue.
    Ou alors c'est une recréation et pas besoin de full table scan (rebuild peut lire lindex courant pour le recréer).

    D'où une question fondamentale à skyarnangel:

    Citation Envoyé par skyarnangel
    la création d'un index qui prends de plus en plus de temps.

    Quel est le besoin de recréer frequemment cet index?
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connaitre la taille d'une table / base de données
    Par Empty_body dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 27/04/2007, 12h02
  2. Réponses: 2
    Dernier message: 29/03/2007, 11h47
  3. comment compacter une table (base de donnees) sous delphi
    Par redhammd dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/11/2005, 10h42
  4. [MySQL] Taille d'une table/base
    Par Indyana dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/10/2005, 11h24
  5. CR9 : comment poser une image venant d'une table, base Acces
    Par CR9-Deb dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 13/05/2005, 10h33

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