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

Langage SQL Discussion :

Optimisation des index


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 274
    Points : 134
    Points
    134
    Par défaut Optimisation des index
    Bonjour,
    j'aimerai optimiser mes requetes avec des index.

    pour une requete de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from personne 
    where nom ilike 'dupo%' and prenom ilike 'jacqu%'
    faut-il créer un index sur (nom, prenom)
    ou plutot 2 index (un sur nom, et un sur prenom)
    ou 3 index : (nom, prenom), nom et prenom ?

    la requete est contextuel en fonction des critères. c'est à dire que j'inscrit la clause prenom, uniquement si l'on à renseigner le champ prenom.
    Dans ce cas la, la requete sera la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from personne 
    where nom ilike 'dupo%'
    est-ce que dans ce cas, un index sur (nom, prenom) optimisera la requete ?

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    2 index (un sur nom, et un sur prenom)
    Oui, c'est sans doute le mieux. Le système va chercher dans les index tous les n° de record correspondant à nom%, tous ceux correspondant à prénom% et faire l'intersection.
    3 index : (nom, prenom), nom et prenom ?
    Non, ca ne peut guère optimiser sourtout à cause des "like".
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 274
    Points : 134
    Points
    134
    Par défaut
    L'index n'optimise pas les ilike ?

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Citation Envoyé par aldo-tlse Voir le message
    L'index n'optimise pas les ilike ?
    Les index sur un champ unique sont utilisés pour essayer d'optimiser toutes les recherches (Like y compris) impliquant des critères portant sur un champ correspondant à un index.
    Les index sur les champs multiples sont certainement utilisés pour des requêtes qui correspondent à un intervalle dans l'index.
    Mais, ce n'est pas le cas dans une requête comme WHERE nom ilike 'dupo%' AND prenom ilike 'jacqu%'. Pour une telle requête, il me semble assez improbable qu'un SGBD utilise un index de type (nom,prénom).
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. Optimisation des Requete Tsql a l'aide des index
    Par AzizMaroc dans le forum Développement
    Réponses: 2
    Dernier message: 13/03/2009, 11h42
  2. Comment optimiser une lourde requête avec des index
    Par Romalafrite dans le forum Requêtes
    Réponses: 10
    Dernier message: 01/12/2006, 19h18
  3. Réponses: 4
    Dernier message: 16/03/2004, 14h16
  4. Optimisation des requetes
    Par bifidus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/10/2003, 11h29
  5. [Technique] Intérêt des index
    Par ddams dans le forum Décisions SGBD
    Réponses: 10
    Dernier message: 04/11/2002, 15h11

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