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 :

faut-il mettre un index sur les champs souvent dans un ORDER BY ou les champs WHERE ?


Sujet :

Langage SQL

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut faut-il mettre un index sur les champs souvent dans un ORDER BY ou les champs WHERE ?
    Bonjour,

    On m'a toujours dit qu'il fait mettre un index sur les champs de sélection (clause WHERE) pour améliorer la vitesse de rendu (au détriement de la charge mémoire et du disque dur).

    Ajouter un index sur les champs souvent utilisés par un ORDER BY est-il aussi utile ?

    Et sur les champs associés à des fonctions conditionnels (IF, CASE..) dans la clause SELECT ?

    en fait, si on n'a pas de soucis de mémoire, ni de cpu, ni de disque, pourquois s'empecher de tout indexer ?

  2. #2
    Membre éclairé

    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 837
    Points
    837
    Par défaut
    On a oublié de te dire qu'un index ralentit les mises à jour. Si ta base est principalement en lecture, je dirais n'hésite pas à mettre un index sur tout ce qui est souvent utilisé.

    "pas de soucis de mémoire, ni de cpu, ni de disque" ça n'existe pas, il ne sert à rien de gaspiller des ressources qui pourront servir plus tard. Observe les requêtes qui sont lentes et optimise.

    Finalement, ça dépend de ta base de données mais en général un index ne peut rien pour truc LIKE "%chose%". Il faut au moins connaître la première lettre.

  3. #3
    Membre actif Avatar de yroubag
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 224
    Points
    224
    Par défaut
    Salut

    Pour les index, il est recommandé d'en mettre sur les champs qui seront souvent utilisés pour les recherches et conditions. Mais comme on dit: "Trop, c'est comme pas assez"
    Yroubag
    Bien poser les questions, c’est tout un art.
    Où tout dépend, bien sûr, de la réponse que l’on veut obtenir. -André Frossard

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    Si tu avais cherché un peu tu serais tombé sur ceci :
    http://sqlpro.developpez.com/cours/quoi-indexer/

    Bonne lecture et n'hésite pas si tu as d'autres questions.

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/03/2012, 17h02
  2. Comment mettre un index sur une table ?
    Par AyManoVic dans le forum Requêtes
    Réponses: 1
    Dernier message: 01/08/2010, 03h15
  3. Mettre un event sur un objet dessiné dans un Canvas
    Par calogerogigante dans le forum Tkinter
    Réponses: 11
    Dernier message: 30/01/2010, 09h05
  4. Réponses: 3
    Dernier message: 03/05/2007, 11h06
  5. Réponses: 2
    Dernier message: 01/05/2006, 18h02

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