+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    mai 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : mai 2006
    Messages : 138
    Points : 56
    Points
    56

    Par défaut Comment les stats ont été calculées ?

    Bonjour,
    Je débarque sur un site où les statistiques sont calculées sur les objets d'une base oracle 11g.
    Ma question : comment je peux savoir avec quels valeurs des paramètres du package DBMS_STATS ont été calculées ces statistiques ( compute , estimate_percent , granularity , degree …) ?
    Merci

  2. #2
    Expert Confirmé Sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2007
    Messages
    4 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 665
    Points : 9 178
    Points
    9 178

    Par défaut

    Regardez le package DBMS_STATS dans la doc d'Oracle.

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    mai 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : mai 2006
    Messages : 138
    Points : 56
    Points
    56

    Par défaut

    Bonjour Mnitu
    Ma question n'était pas sur comment calculer les stats avec le Package DBMS_STATS.

    Je m'exprime autrement :

    Si stats calculés sur des objets Oracle comment deviner avec quelles valeurs des paramètres du DBMS_STATS elles étaient calculées.
    Merci.

  4. #4
    Expert Confirmé Sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2007
    Messages
    4 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 665
    Points : 9 178
    Points
    9 178

    Par défaut

    Citation Envoyé par devkais Voir le message
    ...
    Ma question n'était pas sur comment calculer les stats avec le Package DBMS_STATS.

    ...
    Bonjour,

    Avez-vous jeté un œil sur le package DBMS_STATS ?

    Bref, vous calculez les statistiques via le package dbms_stats qui a des valeurs par default. Ces valeurs peuvent être changées via des appels à divers procédures et fonction du package dbms_stats. Les valeurs utilisées pour calculer les statistiques sont disponible via des appels à des autres fonctions du package dbms_stats.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
    Connected as mni
     
    SQL> 
    SQL> Select DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT',USER,'EMP')
      2    from dual
      3  /
     
    DBMS_STATS.GET_PREFS('ESTIMATE
    --------------------------------------------------------------------------------
    DBMS_STATS.AUTO_SAMPLE_SIZE
    SQL> Exec dbms_stats.set_table_prefs(USER, 'EMP', 'ESTIMATE_PERCENT', 15)
     
    PL/SQL procedure successfully completed
    SQL> Exec dbms_stats.gather_table_stats(USER, 'EMP');
     
    PL/SQL procedure successfully completed
    SQL> Select DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT',USER,'EMP')
      2    from dual
      3  /
     
    DBMS_STATS.GET_PREFS('ESTIMATE
    --------------------------------------------------------------------------------
    15
     
    SQL> 
    SQL> Select DBMS_STATS.GET_PREFS('ESTIMATE_PERCENT')
      2    from dual
      3  /
     
    DBMS_STATS.GET_PREFS('ESTIMATE
    --------------------------------------------------------------------------------
    DBMS_STATS.AUTO_SAMPLE_SIZE
     
    SQL>
    Et vous disposez également des vues vous donnant des informations sur l’historique des opérations de calcul des statistiques: DBA_OPTSTAT_OPERATIONS et *_TAB_STATS_HISTORY

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    mai 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : mai 2006
    Messages : 138
    Points : 56
    Points
    56

    Par défaut OK

    Merci Mnitu.
    Réponse claire et précise.

    En effet j'avais pensé que GET_PREFS concerne que les stats par défaut au niveau global uniquement.
    Or je découvre grâce à vous qu'on peut l'appliquer sur un objet pour retourner la valeur du paramètre statistique fixé sur cette objet.

    Je vote + et je clôture la discussion !

    Merci encore une fois et à bientôt dans un autre sujet

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •