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 :

Calcul des stats ciblé dans un batch ?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Par défaut Calcul des stats ciblé dans un batch ?
    Salut ,
    Je cherche une méthode simple et pratique permettant pour un batch de 5h effectuant beaucoup (plusieurs centaines) de dml (insert , update , delete , merge) et même des truncate d'estimer pour chaque DML/DDL le nombre de lignes mis à jour par rapport au nombre total de lignes de la table en question.

    L'objectif est d'appliquer(comme oracle) la règle suivante et si possible l'automatiser (astuce ?) :
    Si le DML met à jour plus de 10% de lignes de la table => je calcule les stats juste après ce dml sinon je fais rien.

    Avez-vous des idées sur ce point et dans mon contexte précis où les données sont volatiles et les statistiques doivent être mises à jour au fur et à mesure du traitement batch ?

    Rq: Le Dynamic Sampling est-il une bonne solution ? quel Level utiliser ? risques ?
    Les premiers tests avec DS (level 4)=> KO au niveau des perfs (20h au lieu de 5h !!!).
    NB: Le job de nuit de calcul des stats est désactivé.
    Merci par avance

  2. #2
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut,

    Le dynamic sampling peut être une bonne idée. Mais dans ton cas, il faudrait sampler systématiquement (donc par exemple supprimer les stats de ta table).

    Mais vu ce que tu lui fais subir ta table est une GTT ?
    Peut-être peux tu envisager de travailler sur des tableaux ?

    Sinon pour ton idée de conditionner les calculs de stats, tu peux stocker dans une variable le SQL%ROWCOUNT et le comparer à dba_tables.num_rows...

  3. #3
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Je ne pense pas qu'il y ait une solution générique à cela.
    10% d'update ne font probablement pas changer le plan d'exécution. Sauf si le plan d'exécution n'était pas optimal dès le départ.
    Après un truncate, on va probablement la re-remplir. Donc laisser les stats qui correspondent à l'état plein.

    Dans ce genre de cas, je suis plutôt d'avis d'avoir des stats fixes et de ne traiter que les cas particuliers des requêtes où les plan d'exécution ne seraient pas bons. Ou alors pas de stats, dynamic sampling, et s'assurer qu'il n'y a pas la même requête (même textet->même sql_id) qui s'exécute dans 2 contextes très différents.

    Cordialement,
    Franck.

Discussions similaires

  1. [MySQL] Problème de requête SQL pour calculer des stats
    Par k2006 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/05/2009, 18h23
  2. Calcul des stats
    Par DjinnS dans le forum Administration
    Réponses: 9
    Dernier message: 01/02/2008, 13h10
  3. Calcul des stats impossible
    Par Mehdilis dans le forum Oracle
    Réponses: 1
    Dernier message: 07/01/2008, 18h30
  4. Calcul des stats sur SYS et SYSTEM
    Par orafrance dans le forum Oracle
    Réponses: 8
    Dernier message: 05/10/2005, 16h25
  5. Le calcul des stats dégrade les performances
    Par jo007 dans le forum Oracle
    Réponses: 18
    Dernier message: 15/02/2005, 09h42

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