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 :

Lignes chainées / migrées


Sujet :

Administration Oracle

  1. #1
    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 Lignes chainées / migrées
    bonjour ,

    J'ai détecté dans une table de 1 Million de lignes , 1000 lignes chaînées / migrées soient 0.1%. Est-ce suffisant pour les supprimer ?

    Quand est-ce la suppression de lignes chainées/migrées s'impose ? à partir de quel % par rapport au nombre total de lignes de la table ?

    Quelle astuce permettant de vérifier l'effet (performances) avant et après suppression de ces lignes ?
    merci

  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,

    J'ai détecté dans une table de 1 Million de lignes , 1000 lignes chaînées / migrées soient 0.1%. Est-ce suffisant pour les supprimer ?
    Si ce sont des lignes chaînée, vous ne pouvez rien y faire (sauf changer de taille de bloc).
    Si ce sont des lignes migrées, est-ce que ça vaut le coup d'avoir plus d'espace libre dans tous les blocs afin d'éviter ces quelques lignes migrées ?
    Sur des FULL TABLE SCAN, probablement pas: les lignes migrées ne posent pas de pb.
    Sur des accès par index, ça peut rajouter un bloc de plus à lire.
    Mais ce serait intéressant de comprendre la raison pour laquelle ces lignes ont été migrées.

    Quelle astuce permettant de vérifier l'effet (performances) avant et après suppression de ces lignes ?
    La stat 'table fetch continued row' peut aider (à comparer avec 'table fetch by rowid')

    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 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,
    Citation Envoyé par pachot Voir le message
    Si ce sont des lignes chaînée, vous ne pouvez rien y faire (sauf changer de taille de bloc).
    db_block_size=8Ko (base 11.2.0.3 AIX 6.1)
    Quel est l'impact de l'augmenter à 32Ko par exemple ? risque ?
    Si ce sont des lignes migrées, est-ce que ça vaut le coup d'avoir plus d'espace libre dans tous les blocs afin d'éviter ces quelques lignes migrées ?
    C'est une bonne question mais comment juger ?

    Mais ce serait intéressant de comprendre la raison pour laquelle ces lignes ont été migrées.
    J'ai remarqué que j'ai des tables avec pct_free=0 !!! peut-être c'est la cause des lignes migrées...
    La stat 'table fetch continued row' peut aider (à comparer avec 'table fetch by rowid')
    J'ai vu que si le ratio Table fetch Continued row / Table fetch By rowid est
    > 0.1%,il faut étudier les lignes chaînées et essayer de les supprimer ...?

  4. #4
    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 ,

    Quelle est la meilleure méthode pour étudier les lignes chainées/migrées ?

    1/ Calcul des stats puis vérifier CHAIN_CNT pour chaque table ?

    ou

    2/ ANALYZE TABLE...LIST CHAINED ROWS ?
    merci

  5. #5
    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
    1/ Calcul des stats puis vérifier CHAIN_CNT pour chaque table ?
    Non: dbms_stats ne touche pas CHAIN_CNT (malheureusement)
    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

  6. #6
    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

    j'ai traité les 1000 ( 0.1 % du total des lignes) chainées / migrées mais aucun gain suite à cette optimisation.
    Est-ce normal ?
    merci

Discussions similaires

  1. Compteur de ligne + chaine de caractères
    Par phenixs dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/07/2008, 08h38
  2. [VB6] comparaison d'une chaine ligne par ligne
    Par kubiczek dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/05/2006, 22h52
  3. Lignes chainées
    Par Débéa dans le forum Oracle
    Réponses: 9
    Dernier message: 23/01/2006, 16h50
  4. Concatérner chaine avec retour à la ligne
    Par nebule dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2004, 11h55
  5. [TP]lire une ligne de l'ecran et la stocker dans une chaine
    Par Bleuarff dans le forum Turbo Pascal
    Réponses: 26
    Dernier message: 02/07/2002, 10h08

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