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 :

Optimisation de requête


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Par défaut Optimisation de requête
    Bonjour à tous,

    Je travaille en ce moment sur des requêtes dont le temps de traitement est très, (trop) long. Je cherche à optimiser ces requêtes au maximum.

    J'utilise l'explain plan, comme j'ai pu, repère les traitements les plus coûteux (cost) et modifie mes jointures en conséquence. Je cherche surtout à gagner en temps de traitement, ma démarche est elle bonne?

    Je me pose cette question car pour une requête, j'ai réussi à passer son cost total de 420,000 à 315,000 mais pourtant l'exécution prend plus de temps qu'avant.

    Des conseils dans l'approche à avoir?

    Cordialement,

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par Kihmé Xs Voir le message
    ...ma démarche est elle bonne?
    Non. Vous ne pouvez pas optimiser ce que vous ne comprenez pas.
    En gros, la bonne démarche est :
    • Prise de connaissance de l’environnement : version Oracle, paramètres, etc.
    • Analyse du traitement pour collecter les informations nécessaires à la compréhension du temps de réponse (sql trace étendue)
    • Analyse des traces pour comprendre où le temps passe et pour quelle raison. Analyser les écarts existants entre les prédictions de l’optimiseur et l’exécution réelle des requêtes SQL.
    • En fonction de la raison rechercher, proposer et tester les solutions
    • Valider la solution

  3. #3
    Membre très actif Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Par défaut
    super merci,

    Je suis en train de me préparer à tracer mes requêtes. Je vais donc activer le sql_trace, dans un soucis de commodité, j'étais en train de me dire que j'allais faire un traitement PL/SQL pour exécuter toutes mes requêtes que je veux analyser afin de le lancer ce soir et récupérer mes résultats. Si je me suis bien renseigné je récupère mes traces vers la destination de mon user_dump_dest.

    L'utilisation de traitement PL/SQL va elle perturber le fonctionnement de la trace?

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Je ne vois pas l'intérêt de rajouter du PL/SQL là où il n'y en a pas.

    Utilise un fichier sql à lancer via sqlplus avec dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    alter session set events '10046 trace name context forever, level 12';
    -- les requêtes
    select 1 from dual;
    select 2 from dual;
     
    exit;
    Il est important de bien fermer les curseurs, et pour ça quitter la session est le plus simple.

  5. #5
    Membre très actif Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Par défaut
    visiblement j'allais me compliquer la tâche. Merci

Discussions similaires

  1. [Access] Optimisation performance requête - Index
    Par fdraven dans le forum Access
    Réponses: 11
    Dernier message: 12/08/2005, 14h30
  2. Optimisation de requête avec Tkprof
    Par stingrayjo dans le forum Oracle
    Réponses: 3
    Dernier message: 04/07/2005, 09h50
  3. Optimiser une requête SQL d'un moteur de recherche
    Par kibodio dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/03/2005, 20h55
  4. optimisation des requêtes
    Par yech dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/09/2004, 19h03
  5. Optimisation de requête
    Par olivierN dans le forum SQL
    Réponses: 10
    Dernier message: 16/12/2003, 10h09

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