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 :

Statistiques sur des tables


Sujet :

Oracle

  1. #1
    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 Statistiques sur des tables
    Bonjour,

    j'ouvre ce sujet de discussion après avoir mené une recherche peu fructueuse.

    En effet je souhaiterai mettre en place une série de statistiques quotidienne sur mes tables et en conserver un historique, ceci afin de pouvoir répondre correctement aux questions du genre
    Mais enfin vous mettez combien de lignes par jour dans cette %#%!! de table ?! Les tablespaces s'étendent une fois par jour !
    J'ai regardé dans dba_tables et dba_indexes mais s'il y a beaucoup d'informations techniques, je n'ai rien vu d'intéressant pour mes besoins.

    Ce que je souhaite obtenir c'est tous les jours et pour chaque table de données :

    - Nombre de lignes dans la journée
    - Nombre de lignes dans la semaine
    - Nombre de lignes dans le mois
    - Nombre total de lignes

    - Delta de lignes depuis la dernière fois

    - Nombre de lignes dans la journée dont le champ Champ1 possède la valeur Valeur11
    - Pourcentage de lignes dans la journée dont le champ Champ1 possède la valeur Valeur11

    - Nombre de lignes dans la journée dont le champ Champ1 possède la valeur Valeur12
    - Pourcentage de lignes dans la journée dont le champ Champ1 possède la valeur Valeur12

    - Nombre de lignes dans la journée dont le champ Champ2 possède la valeur Valeur21
    - Pourcentage de lignes dans la journée dont le champ Champ2 possède la valeur Valeur21

    - Nombre de lignes dans la journée dont le champ Champ2 possède la valeur Valeur22
    - Pourcentage de lignes dans la journée dont le champ Champ2 possède la valeur Valeur22


    - Nombre de lignes dans la semaine dont le champ Champ1 possède la valeur Valeur11
    - Pourcentage de lignes dans la semaine dont le champ Champ1 possède la valeur Valeur11

    - Nombre de lignes dans la semaine dont le champ Champ1 possède la valeur Valeur12
    - Pourcentage de lignes dans la semaine dont le champ Champ1 possède la valeur Valeur12

    - Nombre de lignes dans la semaine dont le champ Champ2 possède la valeur Valeur21
    - Pourcentage de lignes dans la semaine dont le champ Champ2 possède la valeur Valeur21

    - Nombre de lignes dans la semaine dont le champ Champ2 possède la valeur Valeur22
    - Pourcentage de lignes dans la semaine dont le champ Champ2 possède la valeur Valeur22


    - Nombre de lignes dans le mois dont le champ Champ1 possède la valeur Valeur11
    - Pourcentage de lignes dans le mois dont le champ Champ1 possède la valeur Valeur11

    - Nombre de lignes dans le mois dont le champ Champ1 possède la valeur Valeur12
    - Pourcentage de lignes dans le mois dont le champ Champ1 possède la valeur Valeur12

    - Nombre de lignes dans le mois dont le champ Champ2 possède la valeur Valeur21
    - Pourcentage de lignes dans le mois dont le champ Champ2 possède la valeur Valeur21

    - Nombre de lignes dans le mois dont le champ Champ2 possède la valeur Valeur22
    - Pourcentage de lignes dans le mois dont le champ Champ2 possède la valeur Valeur22


    - Nombre de lignes total dont le champ Champ1 possède la valeur Valeur11
    - Pourcentage de lignes total dont le champ Champ1 possède la valeur Valeur11

    - Nombre de lignes total dont le champ Champ1 possède la valeur Valeur12
    - Pourcentage de lignes total dont le champ Champ1 possède la valeur Valeur12

    - Nombre de lignes total dont le champ Champ2 possède la valeur Valeur21
    - Pourcentage de lignes total dont le champ Champ2 possède la valeur Valeur21

    - Nombre de lignes total dont le champ Champ2 possède la valeur Valeur22
    - Pourcentage de lignes total dont le champ Champ2 possède la valeur Valeur22


    Ces statistiques seraient à calculer sur chaque grosse table de données. Les champs Champ1 et Champ2 sont des champs pour lesquels la sélectivité est importante.

    Donc je pense faire cela avec une série de requêtes, éventuellement avec un datamart dédié strictement à ça (pour éviter de tout recalculer pour les % par exemple) mais je me demandais si éventuellement Oracle ne pouvait pas me donner des solutions sans que je ré-invente la roue.

    Merci.

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    La seule chose relativement simple qui me vient à l'esprit, c'est d'utiliser USER_TABLES.NUM_ROWS qui (je crois) est à jour après chaque mise à jours des statistiques.

    Peut-être que l'utilisation de DBMS_STATS avec les histogrammes peuvent aider à sortir des stats par valeur de colonne (hypothèse à creuser).

  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
    Certes mais chez moi NUM_ROWS est à 0. Sûrement Parce que la méthode de calcul des stats est basée sur un échantillon.

Discussions similaires

  1. Statistiques sur des Etats
    Par Gerard lambert dans le forum IHM
    Réponses: 7
    Dernier message: 27/07/2006, 08h06
  2. probleme de requetes sur des tables volumineuses
    Par abdoracle dans le forum Oracle
    Réponses: 6
    Dernier message: 14/06/2006, 15h41
  3. requete sur des tables non liées
    Par matesp dans le forum Access
    Réponses: 3
    Dernier message: 03/05/2006, 17h01
  4. Statistique sur une table
    Par Andry dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/05/2006, 08h47
  5. [8.0.5-->9.2.0.5] Checksum sur des tables oracle
    Par bobunny dans le forum Oracle
    Réponses: 9
    Dernier message: 24/11/2004, 12h46

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