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 :

Suppression des statistiques tables vides


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut Suppression des statistiques tables vides
    Bonjour,

    Voila quelques temps que je recherche un moyen de supprimer les statistiques qui ont pu être calculés sur les tables vides.

    Je connais déjà la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    analyze table ma_table_vide delete statistics;
    Mais comment l'appliquer à l'ensemble des tables vides sans y passer 2 jours à la mano ?

    D'avance merci pour votre aide.

  2. #2
    Membre émérite Avatar de 13thFloor
    Homme Profil pro
    DBA Oracle freelance
    Inscrit en
    Janvier 2005
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle freelance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 670
    Par défaut
    Pourquoi donc supprimer les statistiques ?
    Il ne vaudrait pas mieux les mettre à jour pour les tables vides ? L'optimiseur (dans une très grande majorité de cas) se débrouille mieux avec des statistiques que sans.

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut
    Il s'agit de preco de l'éditeur de l'application pour améliorer les performances.
    Il semblerait que cette fois-ci, il faille mieux les supprimer.

  4. #4
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour,

    je crois que ca sent l'indignation génerale ta preco ....

    C'etait ptet vrai pour oracle 5 ,...
    ou une autre base de données que oracle.

    A partir de 10G c'est automatique le calcul des stats ...

    Pour info quel editeur a suggeré cette preco ?

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut
    Siebel..... Des gens d'Oracle finalement

  6. #6
    Membre expérimenté
    Inscrit en
    Janvier 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 162
    Par défaut
    Bonjour,

    A moins que l'optimiseur syntaxique ne soit également préconisé , à partir de la 9i (r2?) l'optimiseur va avec une forte probabilité calculer des statistiques sur une table qui n'en n'a pas (dynamic sampling). Ce qui ne fait que conforter les propos de 13thfloor. Et de fatsora !

  7. #7
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 21
    Par défaut
    Merci pour vos réponses, n'empêche que je vais quand même tester pour voir le changement sur les perfs.

    J'essaye de faire un curseur pour ça et j'en suis là. Mais ça marche pas...

    Une aide ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DECLARE CURSOR cur IS
            select table_name FROM user_all_tables;
            nomTable user_all_tables.table_name %TYPE;
    BEGIN
        OPEN cur;
        FETCH cur into nomTable;
            dbms_output.putline(nomTable);
    CLOSE cur;
    END;
    Il faudra bien sur que je rajoute le delete statistics.

  8. #8
    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,

    Ceci génère le script pour les tables dont les stats ont été calculées lorsque elles étaient vides:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select 'analyze table '||table_name||' DELETE statistics;' from user_tables where num_rows=0;
    Cordialement,
    Franck.

Discussions similaires

  1. Traitement des lignes [suppression des lignes vides]
    Par turbo_chess dans le forum Linux
    Réponses: 4
    Dernier message: 22/03/2007, 09h16
  2. [Oracle 8i] Obtenir la liste des tables vides
    Par Bahan dans le forum SQL
    Réponses: 6
    Dernier message: 13/01/2007, 22h46
  3. Réponses: 2
    Dernier message: 06/10/2006, 10h16
  4. suppression des ligne ds une table
    Par roger.pouamoun dans le forum Oracle
    Réponses: 6
    Dernier message: 28/07/2006, 12h00
  5. suppression des caratères spéciaux dans une table
    Par syl221 dans le forum Access
    Réponses: 6
    Dernier message: 31/08/2005, 09h20

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