mysql -> Count(*) avec deux colonnes indexées dans une table

mysql -> Count(*) avec deux colonnes indexées dans une table - SQL/NoSQL - Programmation

Marsh Posté le 18-05-2006 à 18:02:09    

Bonjour,
 
J’ai une table avec plusieurs centaines de milliers d’entrées, avec diverses colonnes DONT une indexée concernant l’id d’une personne (Mediumint, non unique), et une autre avec un ENUM (‘Y’, ‘N’).
 
J’ai bien evidemment indexée ces deux colonnes ; mais lorsque je fais ma requete du style
 
EXPLAIN SELECT count(*) FROM table WHERE id=’100’ and status=’Y’
 
Il parcourt le meme nombre de rows que la requete
 
EXPLAIN SELECT count(*) FROM table WHERE id=’100’
 
Comment faire pour qu’il puisse tenir compte de la colonne "status" dans la recherche; pour que la commande sql n’ait pas a parcourir toutes les entrées de l’id 100 ?
 
Y’a un truc qui m’échappe ; merci !

Reply

Marsh Posté le 18-05-2006 à 18:02:09   

Reply

Marsh Posté le 18-05-2006 à 19:47:06    

il faut créer un index sur (id, status).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed