Optimiser la négation Comparaison entre != et NOT()
lundi 30 décembre 2002 :: perrick :: MySQL :: un commentaire :: aucun trackbackPlongé dans le refactoring d'openTIME, j'en profite pour faire quelques tests sur mes requêtes SQL. Cette fois-ci, il s'agit de comparer "!=" et "NOT()".
Concrètement ça donne :
"SELECT name, user_id FROM project WHERE id != 1"
contre
"SELECT name, user_id FROM project WHERE NOT(id = 1)"
Après un test en local (W2K + Apache 1.3.24 + PHP 4.2.0 + MySQL 3.23.39), puis sur 2 serveurs différents, le résultat est là : "!=", 2,35 s. contre "NOT()", 2,52 s. (moyenne sur 20 éxécutions du script de test). Ce n'est peut-être pas un gain de temps énorme sur les 1000 itérations du code mais c'est toujours ça de pris.
Si vous avez d'autres trucs SQL (ou MySQL), n'hésitez pas à les partager : les commentaires sont là pour ça aussi.