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

Oracle Discussion :

Option COMPRESS pour les INDEX


Sujet :

Oracle

  1. #1
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut Option COMPRESS pour les INDEX
    Bonjour,

    Je m'interesse à l'option COMPRESS pour les indexes. Après quelques recherches, cela a l'air bien sympathique. Il semblerait que cela fasse economiser de la place, améliore les performances.

    Mais il doit bien y avoir un inconvenient, je cru lire un problème d'overhead lors des insertions ou maj de la clé. Est ce notable ?

    Dans quel cas utilisez vous cette option?

    Jusqu'a quel niveau de selectivité cela est il interessant ?

    Merci de vos avis éclairés.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Citation Envoyé par Wurlitzer
    Bonjour,
    Mais il doit bien y avoir un inconvenient, je cru lire un problème d'overhead lors des insertions ou maj de la clé. Est ce notable ?

    Bonjour,

    Je suis inconditionnelle des indexs compressés.
    L'overhead est logique lors de l'insertion, mais je ne l'ai jamais vraiment observé.
    Par contre, le gain de place, ainsi que celui de performance est notable.
    La grande question reste toujours de savoir la longueur du prefixe quand on a plusieurs colonnes.
    en général, pour un gain de place maximum, de ma petite expérience, je recomande le plus petit (en général 1) dans la plupart des cas.

  3. #3
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bonjour,

    quel est ce problème d'overhead ? Et pourquoi les index ne sont pas toujours compressés par défaut ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  4. #4
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Citation Envoyé par nuke_y
    Bonjour,

    quel est ce problème d'overhead ?
    Apparement c'est plus long pour Oracle de mettre a jour un indexe compressé que non compressé d'ou une (légère) sur consomation lors des maj et des insert

    Citation Envoyé par nuke_y
    Et pourquoi les index ne sont pas toujours compressés par défaut ?
    C'est bien la question que je me pose......

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par nuke_y
    Et pourquoi les index ne sont pas toujours compressés par défaut ?
    J'imagine qu'il y a un coût en ressource CPU qui peut ne pas être négligeable...

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Citation Envoyé par Fred_D
    J'imagine qu'il y a un coût en ressource CPU qui peut ne pas être négligeable...
    +1

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Citation Envoyé par nuke_y
    Bonjour,

    quel est ce problème d'overhead ? Et pourquoi les index ne sont pas toujours compressés par défaut ?
    parce que par exemple compresser une clé unique n'a aucun sens.
    ou alors seulement un préfixe de cette clé définit par l'utilisateur si elle est sur plusieurs colonnes.
    Et de manière générale, sur un index à plusieurs colonne, comme je le disais tout à l'heure, il y a plusieur possibilitées de compression.
    A vous de choisir la meilleur!
    il faux bien qu le DBA justifie son salaire!
    NON a l'automatisation de la compression de l'index.
    NON à l'EUROMILLION

  8. #8
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Ok merci.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par aline
    il faux bien qu le DBA justifie son salaire!
    NON a l'automatisation de la compression de l'index.
    NON à l'EUROMILLION

  10. #10
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Je relance ce thread parce que je voudrais passer des généralités au cas concret. Je suis donc à la recherche d'indexes candidat à la compression.

    Pour cela j'utilise la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    select t.owner , t.table_name, i.index_name, i.column_name, t.num_rows, tc.density , tc.num_distinct 
    from all_ind_columns i, all_tab_columns tc, all_tables t 
    where column_position = 1 
    and index_owner = 'BCUSER'
    and   t.owner = i.table_owner
    and   t.table_name = i.table_name
    and   i.table_name = tc.table_name
    and   i.table_owner = tc.owner
    and   i.column_name = tc.column_name
    and   i.column_position = 1
    and   tc.density >= 0.1
    and   num_rows >  1000
    order by num_rows desc
    où je ressors tout les indexes des tables de plus de mille lignes donc la première colonne à au plus 10 valeurs.

    J'ai deux questions :
    1. est que j'ai bien compris la definition de DENSITY. C'est à dire que pour les petites valeur de clé distincte DENSITY=1/nb clé distincte ?
    2. est ce que ces valeurs limites vous semblent avoir un sens ? En avez vous vous meme testés d'autres ?

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    et pouquoi toutes les clés primaires ne sont pas sur ( ou uniquement) la premiére colonne

  12. #12
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Citation Envoyé par Jaouad
    et pouquoi toutes les clés primaires ne sont pas sur ( ou uniquement) la premiére colonne
    Parce que je peux compresser la première colonne et pas forcément la seconde. (J'ai pas encore envisagé de contruire mes indexes dans un autre ordre pour optimisé la compression)

  13. #13
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Je viens de trouver ca (a partir de la 9i).

    Sur la commande ANALYSE ... VALIDATE STRUCTURE

    http://download-uk.oracle.com/docs/c...htm#SQLRF01105

    Citation Envoyé par Oracle® Database SQL Reference
    VALIDATE STRUCTURE
    .../...
    For an index, .../...
    Oracle Database also computes compression statistics (optimal prefix compression count) for all normal indexes.

    Oracle Database stores statistics about the index in the data dictionary views INDEX_STATS and INDEX_HISTOGRAM.
    Qui peut donner de bonne piste pour établir des regles de compression

Discussions similaires

  1. Tablespace pour les indexes
    Par edwin301 dans le forum Administration
    Réponses: 23
    Dernier message: 01/08/2007, 14h33
  2. Tablespace pour les indexs
    Par Neji44 dans le forum Administration
    Réponses: 4
    Dernier message: 20/06/2007, 15h06
  3. petit conseil pour les index
    Par fpouget dans le forum Langage SQL
    Réponses: 11
    Dernier message: 10/12/2005, 04h39

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