MySql -- Un index sur un SET('0','1') est-il utile ?

MySql -- Un index sur un SET('0','1') est-il utile ? - PHP - Programmation

Marsh Posté le 23-07-2002 à 17:05:26    

J'ai un champs SET('0','1';) qui me sert à valider ou invalider une ligne entière. Ce champs est très sollicité car toutes les requêtes de mon site contiennent un WHERE status='1'...
 
Cependant comme il n'y a que 2 valeurs et qu'il s'agit en plus d'un SET() je ne sais pas si l'ajout d'un index apporte quelque chose chose en terme de performances.


Message édité par Dost67 le 23-07-2002 à 17:05:46
Reply

Marsh Posté le 23-07-2002 à 17:05:26   

Reply

Marsh Posté le 23-07-2002 à 17:18:10    

non si ton champ ne peux prendre que deux valeurs differentes alors un full scan sera toujours plus rapide.
 
ajouter un index dégraderait les perfs.


---------------
Don't blink. Don't even blink. Blink and you're dead. They are fast, faster than you could believe, don't turn your back, don't look away, and DON'T BLINK. Good luck.
Reply

Marsh Posté le 23-07-2002 à 17:33:39    

OK. Sinon je viens de me rendre compte que je me suis planté pour le type de la colonne... Dans mon cas faut mettre un ENUM('0','1';) et pas un un SET() puisque je ne dois avoir qu'une valeur à la fois.

Reply

Marsh Posté le 23-07-2002 à 17:36:59    

Et si mon ENUM() avait 7-8 valeurs (par exemple ça correspondrait aux catégories du forum) l'index serait-il utile dans ce cas ?
 
Plus généralement à partir de combien de valeurs possibles l'index est-il efficace ?

Reply

Marsh Posté le 23-07-2002 à 17:49:53    

Dost67 a écrit a écrit :

Et si mon ENUM() avait 7-8 valeurs (par exemple ça correspondrait aux catégories du forum) l'index serait-il utile dans ce cas ?
 
Plus généralement à partir de combien de valeurs possibles l'index est-il efficace ?




 
la j'en sais rien ... mais pour 2 ou 3 valeurs distinctes c'est largement pas la peine ... sauf dans certains cas précis (99% des enregs sont a 0 et 1% a 1 par ex) ...
 
ensuite ca dépend aussi du sgbd, pour mysql j'en ai aucune idée, le mieux est de faire des tests toi même avec tes propres sets de données ...


---------------
Don't blink. Don't even blink. Blink and you're dead. They are fast, faster than you could believe, don't turn your back, don't look away, and DON'T BLINK. Good luck.
Reply

Sujets relatifs:

Leave a Replay

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