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

SQL Oracle Discussion :

Problème sur l'utilisation d'index


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Problème sur l'utilisation d'index
    Bonjour,

    Je me retrouve confrontée à un problème bizarre.

    J'ai deux bases (une de production et une de pré-production) qui ont toutes les deux la même table avec les mêmes index.

    Une requête passée sur la production est quasiment instanée, la même requête dure de 9 à 10 s sur la pré-production (dans les deux cas la requête ne ramène aucune ligne).

    Quand je fais un explain de la requête en production, l'index utilisé est IDX1. Sur la pré-production, l'explain indique que c'est IDX2 qui est utilisé.

    Quelqu'un sait-il d'où peut venir cette différence au niveau de la gestion Oracle des index ?

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    version de bd ?
    Les stats sont à jours ?
    Même volumétrie dans les deux environnements ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Complément d'info
    Version 10g d'Oracle.

    Les stats ont été passées le 11/07 soit dimanche dernier et les premiers problèmes de performance ont été constatés sur un traitement de lundi.

    La volumétrie sur la pré-production est plus petite (-50%).

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Différence de machine aussi. Tu peux avoir des stats liées à l'OS (vitesse des disques en lecture séquentielle, etc..)

    C'est vrai que maintenant, dire pourquoi Oracle prend un index plutôt qu'un autre devient ardu.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    Tous les autres traitements passent sans problème de performances donc la machine n'est pas en cause (enfin je pense).

    Je pense que la solution est dans les données de la table. Ci-joint ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT *
    FROM XFCROPER A
    WHERE ( A.XFCRCODEVE = 'AC410' )
       AND  ( A.XFCRNOIDPS = '061049524' )
       AND  ( A.XFCRNUMFAC = '000010046' )
       AND  ( A.XFCRDATFAC = '30/06/2010' )
       AND  ( A.XFCRMNTRRC = 27.30 )
       AND  ( A.XFCRDATPAI = '12/07/2010' )
       AND  ( A.XFCRIDPCRO = 0 )
    Deux index :
    IDX1 sur XFCRNOIDPS, XFCRNUMFAC
    IDX2 sur XFCRIDPCRO

    Sur la production, 12% des enregs ont XFCRIDPCRO=0
    Sur la préproduction, 3% des enregs ont XFCRIDPCRO=0

    J'ai essayé de passer ma requête sur la pré-production en forçant l'utilisation de IDX1, et le temps de réponse est encore pire... Oracle a l'air de bien faire son travail !

    Si on supprime dans la clause where A.XFCRIDPCRO = 0, la réponse est instantanée...

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    La date des statistiques ne suffit pas, il faudrait vérifier (DBA_TAB_STATISTICS) si elles sont réalistes par rapport aux données effectives.

    Vous pouvez aussi regarder si vous n'avez pas de différence dans le paramétrage de l'optimiseur de part et d'autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from V$SES_OPTIMIZER_ENV where sid=(select max(sid) from v$mystat);
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

Discussions similaires

  1. problème sur l'utilisation d'un module si interface graphique
    Par ohtoulouse dans le forum Général Python
    Réponses: 0
    Dernier message: 02/06/2010, 15h09
  2. Problème sur une utilisation Trigger/sequence
    Par bstevy dans le forum SQL
    Réponses: 3
    Dernier message: 04/11/2009, 17h26
  3. Problèmes sur clé primaire : auto index
    Par ultracoxy dans le forum Requêtes
    Réponses: 12
    Dernier message: 20/06/2006, 17h43
  4. demande de conseils sur l'utilisation d'index
    Par Ickou dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/03/2006, 12h13
  5. Compteur sur l'utilisation des index
    Par hkhan dans le forum Administration
    Réponses: 11
    Dernier message: 14/10/2004, 17h57

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