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 :

performance du gather_table_stats


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut performance du gather_table_stats
    Bonjour,
    Nous alimentons quotidiennement un datawarehouse.
    Nous étions avant en 9i et optimizer 8.1.7 et utilisions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    analyze table xxx estimate statistics
    Nous sommes passés en 10g optimizer par défaut de 10g et utilisons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbms_stats.gather_table_stats(ownname=>xxx,tabname=>xxx,cascade=>true);
    Les performances sont dégradées
    Quelqu'un aurait-il un équivalent plus performant à me proposer ?
    J'ai essayé avec les options :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
    DEGREE => DBMS_STATS.AUTO_DEGREE
    et j'ai gagné 30% mais je me demande si le résultat attendu est le même...
    Merci bien avance.
    Cordialement.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Tu parles d'une dégradation du temps d'alimentation de la base, ou de l'accès aux tables une fois qu'elles sont alimentées ?

    Concernant l'alimentation, si tu n'utilises pas estimate_percent, il fait un compute par défaut (calcul des stats sur toute la table) alors que tu faisais un estimate avec la commande ANALYZE. En utilisant estimate_percent, tu as gagné 30% (au passage, Oracle préconise fortement d'utiliser DBMS_STATS.AUTO_SAMPLE_SIZE comme tu l'as fait). Deuxième chose, tu as spécifié cascade ==> true, ce qui signifie qu'il met aussi à jour les stats des index de la table, chose que tu ne faisais peut-être pas avant ?

    Si tu voulais dire que c'est l'accès aux tables qui est dégradé, c'est à n'y rien comprendre, car tout le monde est d'accord pour dire que les statistiques calculées par le package DBMS_STATS sont plus efficaces que celles calculées par la commande ANALYZE.
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour la réponse.
    Il s'agit bien de dégradation lors de l'alimentation du dwh et non de l'accès aux tables.

Discussions similaires

  1. [Oracle 10g] Performance du gather_table_stats
    Par lulu14 dans le forum Administration
    Réponses: 5
    Dernier message: 17/09/2007, 14h08
  2. [maintenance][performance] Que faire comme maintenance ?
    Par woodwai dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 06/11/2003, 15h39
  3. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18
  4. [JDBC][connexion persistante] performances avec JDBC
    Par nawac dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 06/05/2003, 10h37
  5. performance entre 3DS, ase, asc ...
    Par amaury pouly dans le forum OpenGL
    Réponses: 3
    Dernier message: 24/03/2003, 11h41

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