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

Requêtes MySQL Discussion :

Indexes avec < ou > dans la clause where ?


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 144
    Par défaut Indexes avec < ou > dans la clause where ?
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM matable WHERE monchamp > 1500
    En admettant que "monchamp" soit indexé, est-ce que MySQL peut utiliser cet index dans cette requête ?

    Ayant fait quelques tests, je n'obtiens pas de très bonnes performances pour cette requête, par exemple en comparaison de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM matable WHERE monchamp = 1500
    Merci pour vos indications,
    Evocatii

  2. #2
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Citation Envoyé par Evocatii Voir le message
    En admettant que "monchamp" soit indexé, est-ce que MySQL peut utiliser cet index dans cette requête ?
    Oui :
    A B-tree index can be used for column comparisons in expressions that use the =, >, >=, <, <=, or BETWEEN operators. The index also can be used for LIKE comparisons if the argument to LIKE is a constant string that does not start with a wildcard character.
    http://dev.mysql.com/doc/refman/5.0/...l-indexes.html

    Citation Envoyé par Evocatii Voir le message
    Ayant fait quelques tests, je n'obtiens pas de très bonnes performances pour cette requête, par exemple en comparaison de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM matable WHERE monchamp = 1500
    Est-ce un index unique ? Quelle est la proportion de lignes dont la valeur de monchamp est > à 1500 ?

    Tu peux voir si un index est utilisé avec un EXPLAIN SELECT ...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/03/2010, 20h49
  2. Requêtes avec condition dans la clause where
    Par desmo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/02/2008, 13h36
  3. Réponses: 3
    Dernier message: 18/09/2006, 20h55
  4. Réponses: 8
    Dernier message: 16/08/2006, 14h39
  5. probleme avec le caractere 'Z' dans ma clause WHERE
    Par dibox dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/04/2004, 12h21

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