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 :

ANALYZE vs DBMS_STATS.GATHER


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut ANALYZE vs DBMS_STATS.GATHER
    Bonjour,

    Ce n'est pas la première fois que le "problème" se soulève mais j'avoue n'avoir jamais pu trancher et savoir quelle était la méthode préférable |b]par défaut[/b] et laquelle devrait-on utiliser quand celle par défaut n'est pas satisfaisante ?
    (je sais qu'il n'y aura pas de méthode magique, fantastique et qui marche à tous les coups)

    Je me souviens par exemple qu'un analyze (même compute statistics, pas validate) permettait de détecter des corruptions logiques, qui passaient à la trappe avec le dbms_stats.

    Alors, il vaut mieux commencer par tester quoi ? DBMS_STATS ou ANALYZE ?

    Leo.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Si je ne m'abuse DBMS_STATS collecte d'avantage de statistiques (les histogrammes notamment)... et à le gros avantage d'être récursif aussi

    Par ailleurs, dans le cas de tables partitionnées, c'est beaucoup plus

    pour info : DBMS_STATS versus ANALYZE

    En plus, on pourrait parler des export/import de stats, du calcul des stats systèmes, etc... qui ne permet pas ANALYZE

    Par contre, ANALYZE reste utile, tu parles de VALIDATE mais il y a aussi les chained rows

  3. #3
    Membre émérite
    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
    Par défaut
    Je ne suis pas encore convaincu par la manipulation du DBMS_STATS, buggé sur certaines releases de la 9i, et un peu lourd à prendre en main.

    Par contre, il a l'avantage d'être intégré au PL/SQL, et paraît-il plus performant que l'ANALYZE comme évoqué ci-dessus, et j'ai entendu dire que le ANALYZE va prochainement disparaître, si ce n'est déjà fait en version 11. Donc autant s'habituer au DBMS_STATS...

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Citation Envoyé par dgi77 Voir le message
    Je ne suis pas encore convaincu par la manipulation du DBMS_STATS, buggé sur certaines releases de la 9i, et un peu lourd à prendre en main.

    Par contre, il a l'avantage d'être intégré au PL/SQL, et paraît-il plus performant que l'ANALYZE comme évoqué ci-dessus, et j'ai entendu dire que le ANALYZE va prochainement disparaître, si ce n'est déjà fait en version 11. Donc autant s'habituer au DBMS_STATS...
    De plus il est simple de collecter les stats par DBMS_sTATS en utilisant les jobs oracle.

  5. #5
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Citation Envoyé par jf4db Voir le message
    De plus il est simple de collecter les stats par DBMS_sTATS en utilisant les jobs oracle.
    Le plus simple, c'est pas le plus important
    ce qui compte, c'est le plus efficace

    Toutes les données ne sont pas exportées, et même, lors d'import, on peut tolérer un recalcul des stats... donc les "avantages" avancés de DBMS_STATS ne me semblent pas intérêssant au vu de ceux de analyze

    Donc, je reste sur une préférence à analyze ?
    ou je me fourvoie ?

    ou est-ce que l'erreur consiste simplement à vouloir les comparer puisqu'ils n'ont pas du tout la même vocation ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par LeoAnderson Voir le message
    ou est-ce que l'erreur consiste simplement à vouloir les comparer puisqu'ils n'ont pas du tout la même vocation ?
    C'est un peu excessif

    Je dirais que le ANALYZE dans le cas de modéle de données simple avec des volumétries raisonnables est tout à fait envisageable. Ca l'est moins quand les stats prennent des heures à être calculées, qu'on utilise des objets partitionner ou qu'on prévoit de migrer un jour vers une version qui ne supporte plus le ANALYZE

    Comme d'habitude, c'est pas parce qu'Oracle promet l'obsolescence d'une commande que ça devient crétin de l'utiliser... tout dépend du besoin. N'empêche que l'export/import des stats c'est bien pratique quand tu fais des tests de tuning rien que ça me suffit à passer à DBMS_STATS

Discussions similaires

  1. [10g] DBMS_STAT ou ANALYZE
    Par olivier] dans le forum Administration
    Réponses: 4
    Dernier message: 10/09/2014, 15h59
  2. ANALYZE vs DBMS_STATS
    Par devkais dans le forum Oracle
    Réponses: 2
    Dernier message: 07/04/2013, 19h49
  3. Réponses: 1
    Dernier message: 17/07/2008, 08h44
  4. [DBMS_STATS][9i]Réaliser la même opération qu'avec ANALYZE.
    Par Le nain Attila dans le forum Oracle
    Réponses: 7
    Dernier message: 09/06/2006, 18h35
  5. analyze stats
    Par pinocchio dans le forum Administration
    Réponses: 16
    Dernier message: 20/09/2004, 16h36

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