Nitpicker Question:vérification rapide de l'existence d'une entrée dans une base de données SQL
J'aime avoir une fonction renvoyant une valeur booléenne pour vérifier si une table a une entrée ou non. Et j'ai besoin d'appeler cela beaucoup, donc une optimisation est nécessaire.
SEUI mysql pour l'instant, mais devrait être assez basique ...
Alors dois-je utiliser
select id from table where a=b limit 1;
ou
select count(*) as cnt from table where a=b;
ou quelque chose complètement différent?
Je pense que SELECT avec limite devrait s'arrêter après la première recherche, count (*) doit vérifier toutes les entrées. Donc, SELECT pourrait être plus rapide.
Simnplest chose ferait quelques boucle et le tester, mais mes tests ne sont pas utiles. (Mon système de test semble être utilisé par ailleurs, ce qui a dilué mny résultats)
Vous voulez être sûr qu'il y a un index sur 'a' dans les deux cas. –
@Brett: Vraiment pas assez d'infos pour le dire. Si 'a' est une constante énumérée avec 3 valeurs possibles, un index dessus n'augmenterait pas la performance. – Andomar