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 :

index vide sur clé primaire de 200 000 lignes, pourkoi ?


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Points : 59
    Points
    59
    Par défaut index vide sur clé primaire de 200 000 lignes, pourkoi ?
    Bonjour,

    j'ai créer une clé primaire sur une table, ce qui a créer l'index correspondant.

    Le problème que j'ai rencontré est que mon index etait vide, alors que la table non.

    J'ai donc fais un rebuild de mon index, et la nikel, la procedure est plus rapide et l'explain plan n'explose plus le cout.

    Je me demande donc pourquoi mon index etait vide, puisque basé sur une colonne de type clé primaire avec une table de plus de 200 000 lignes, je trouve cela un peu bizare.

    De plus, dans la console Java, il me disait que mon index etait valide.

    Est-ce normal ? Avez-vous deja rencontré ce type de problème ?

    Je signale que ceci s'est passé sur une base de développement, donc je me renseigne pour ne pas que cela se produise sur la prod.

    Merci d'avance pour toutes les suggestions.

    Cordialement

    --
    Oracle 10g R1 Linux

  2. #2
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Comment sais-tu que ton index était 'vide' ???
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Points : 59
    Points
    59
    Par défaut
    Dans la console Java, tu peux avoir le nombre de lignes dans l'onglet Statistiques lorsque tu clique sur ton index.

    Tu as plein d'infos comme le nombre de clé distinctes, la hauteur de l'arborescence, la taille de l'échantillon etc ..
    Et pour mon index, toutes les lignes était à 0.

    Merci d'avance.

    Cordialement.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 549
    Points : 436
    Points
    436
    Par défaut
    les stats sur ton objet ont tout bonnement étaient calculés depuis
    PpPool

  5. #5
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Donc, ce n'est pas que ton index était 'VIDE' mais qu'il n'y avait pas de statistiques dessus !
    Les statistiques sur ta base n'avaient probablement pas été collectée s (process ORACLE automatique la nuit ou job utilisant le package DBMS_STAT).
    Maintenant c'est fait !
    Et l'optimiseur de requête a les éléments nécessaires (ces fameuses stats) pour savoir si il doit utiliser l'index ou pas !
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  6. #6
    Membre habitué Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    Voici un lien utile pour vérifier l'utilisation d'un index :
    http://www.adp-gmbh.ch/blog/2005/july/26.html

    Bonne soirée.
    Diction de DBA :
    "Tant va la cruche à l'eau qu'à la fin, ça me les brise"
    -------------------------------------
    Working on Oracle Database 10g / 11g
    -------------------------------------
    Article d'installation d'Oracle 10g AS Portal by Maxime GONTCHAROV
    labo-oracle.com

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Points : 59
    Points
    59
    Par défaut
    J'ai réussi a obtenir plus d'informations.

    Apparement, ma table est beaucoup sollicité avec des update et des delete, donc du coup, l'index ne serais pas bien rééquilibré.

    Je me demande alors si il faut lancer le calcul des stats régulièrement pour ne pas perdre l'efficacité de l'index.


    A quel fréquence devrais-je les recalculer ?
    Avez-vous des suggestions ou des pratiques indispensables, des conseils dans ce domaine ?

    Merci a tous pour vos réponses.

    Cordialement.

  8. #8
    Membre habitué Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Points : 189
    Points
    189
    Par défaut
    Petite précision :
    ta base a-t-elle était créée avec DBCA ou avec un create database ?
    Diction de DBA :
    "Tant va la cruche à l'eau qu'à la fin, ça me les brise"
    -------------------------------------
    Working on Oracle Database 10g / 11g
    -------------------------------------
    Article d'installation d'Oracle 10g AS Portal by Maxime GONTCHAROV
    labo-oracle.com

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Points : 59
    Points
    59
    Par défaut
    Je pense qu'elle a été créer avec un create database. Enfin la base de production, parce que la base qui pose problème est un clonage de celle-ci.

    Mais après, ce n'est qu'une question de paramétrage, non ?

    Cordialement.

  10. #10
    Membre habitué Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Points : 189
    Points
    189
    Par défaut
    Par défaut, les mises à jour des statistiques d'une base créée avec DBCA sont effectuée tout les nuits.

    Pour la désactivation, je n'ai jamais vraiment regardé...

    Perso je ne pense pas que le fait de mettre à jour les stats d'un index toutes les nuits puissent influer sur l'efficacité de tes index.
    A confirmer
    Diction de DBA :
    "Tant va la cruche à l'eau qu'à la fin, ça me les brise"
    -------------------------------------
    Working on Oracle Database 10g / 11g
    -------------------------------------
    Article d'installation d'Oracle 10g AS Portal by Maxime GONTCHAROV
    labo-oracle.com

  11. #11
    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
    Par défaut, les mises à jour des statistiques d'une base créée avec DBCA sont effectuée tout les nuits.
    Pour Oracle 10, le calcul des statistiques est automatiquement exécuté toutes les nuits par défaut que la base soit créée par DBCA ou par script avec CREATE DATABASE pour la 10.1 et la 10.2.

    Ce job géré par DBMS_SCHEDULER est également créé automatiquement lorsqu'on upgrade une base 8 ou 9 en 10.

  12. #12
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Points : 59
    Points
    59
    Par défaut
    Tres bien, merci a tous pour vos informations.

    Cordialement.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 07/09/2016, 22h12
  2. Problème sur un script de 12.000 lignes
    Par alavoler dans le forum Sql*Plus
    Réponses: 9
    Dernier message: 31/03/2011, 15h27
  3. [AC-2003] Gérer création de table SQL/VBA (200 000 lignes)
    Par jbulysse dans le forum VBA Access
    Réponses: 6
    Dernier message: 24/08/2009, 12h06
  4. gestion de BDD (de plus de 200 000 lignes)
    Par jackfred dans le forum Excel
    Réponses: 3
    Dernier message: 20/04/2007, 11h04
  5. Problèmes sur clé primaire : auto index
    Par ultracoxy dans le forum Requêtes
    Réponses: 12
    Dernier message: 20/06/2006, 17h43

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