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

Développement SQL Server Discussion :

Comment optimiser ma requête?


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 161
    Points : 44
    Points
    44
    Par défaut Comment optimiser ma requête?
    Bonjour,

    je rencontre actuellement un temps de reponse trop long sur mon appli web, et lorsque j'execute cette même requete directement en base, le temps de reponse est trop malgré une recherche restreinte à 1 enregistrement.
    Pourriez vous me dire ce que je pourrai faire pour optimiser ma requete ci-dessous et m'explique aussi le plan d'execution.

    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    SELECT ext__0__0.RefTe1, ext__1.Pu_CodeSURF, ext.SolCrDt, ext__1.Pu_ID, ext.SolPu_ID_, 
    ext.SolCreID, ext__3__0.RefTe1, ext__3__1.EntID, ext__0.ActID, ext__3.PerID, 
    ext__3__1.EntCorpName, ext.SolID, ext__3.PerName, ext__0.ActName, ext__0.ActFstName, 
    ext__5.RefTe1, ext.SolPerId, ext__3.PerFstName, ext__3.PerEntId, ext__6.RefTe1 
    FROM Solicitation ext 
    LEFT OUTER JOIN Actor ext__0 on ext.SolCreID = ext__0.ActID 
    LEFT OUTER JOIN RefValues ext__0__0 on (ext__0.ActCivID = ext__0__0.RefID) 
    LEFT OUTER JOIN Purchase_ ext__1 on ext.SolPu_ID_ = ext__1.Pu_ID 
    LEFT OUTER JOIN Person ext__3 on ext.SolPerId = ext__3.PerID 
    LEFT OUTER JOIN RefValues ext__3__0 on (ext__3.PerCivID = ext__3__0.RefID) 
    LEFT OUTER JOIN Enterprise ext__3__1 on ext__3.PerEntId = ext__3__1.EntID 
    LEFT OUTER JOIN RefValues ext__5 on (ext.SolCanalID_ = ext__5.RefID) 
    LEFT OUTER JOIN RefValues ext__6 on (ext.SolMotiveID_ = ext__6.RefID) 
    LEFT OUTER JOIN Actor ext__8 on ext.SolActID = ext__8.ActID 
    LEFT OUTER JOIN RefValues ext__9 on (ext.SolPtyID = ext__9.RefID) 
    LEFT OUTER JOIN RefValues ext__10 on (ext.SolCatID = ext__10.RefID) 
    WHERE 
    ( (UPPER(ext__3.PerName) LIKE UPPER(N'chaunu%') and UPPER(ext__3.PerFstName) 
    LIKE UPPER(N'enzo%')) or  (UPPER(ext__3.PerName) LIKE UPPER(N'chaunu%') 
    and UPPER(ext__3.PerFstName) LIKE UPPER(N'% enzo%')) or  
    (UPPER(ext__3.PerName) LIKE UPPER(N'% chaunu%') and UPPER(ext__3.PerFstName) 
    LIKE UPPER(N'enzo%')) or  (UPPER(ext__3.PerName) LIKE UPPER(N'% chaunu%') 
    and UPPER(ext__3.PerFstName) LIKE UPPER(N'% enzo%'))) 
    ORDER BY ext.SolNextUpd ASC,ext__8.ActCode ASC,ext__9.RefTe1 ASC,ext__10.RefTe1 ASC

  2. #2
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut
    Telle que présentée ta requête est quand même assez indigeste. Ne pourrais-tu pas mieux l'indenter ?

    Quelques pistes :
    • Faut-il nécessairement des LEFT OUTER JOIN ?
    • Faut-il nécessairement faire des recherches avec des wildcards (%) ?
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  3. #3
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Autre question : quelle est la collation de tes colonnes ?
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 161
    Points : 44
    Points
    44
    Par défaut
    c'est quoi que tu appelles " collation" ?

  5. #5
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut
    Une toute petite recherche sur le forum ne serait pas déplacée... Voir aussi les articles de SQLPro.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  6. #6
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

Discussions similaires

  1. [MySQL-5.1] Comment optimiser ma requête
    Par Rohan21 dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/12/2013, 17h35
  2. Réponses: 3
    Dernier message: 10/10/2013, 11h47
  3. [MySQL] Comment optimiser cette requête ?
    Par AyManoVic dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/08/2010, 00h44
  4. Comment optimiser cette requête?
    Par Nympheasi dans le forum Requêtes
    Réponses: 10
    Dernier message: 05/10/2009, 03h51
  5. [CF][C#] Comment optimiser mes requêtes avec SqlCE ?
    Par david71 dans le forum Windows Mobile
    Réponses: 10
    Dernier message: 20/01/2006, 14h48

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