J'essaie de savoir si une ligne existe dans une table. En utilisant MySQL, est-il préférable de faire une requête comme celle-ci:
SELECT COUNT(*) AS total FROM table1 WHERE ...
et vérifiez si le total est différent de zéro ou est-il préférable de faire une requête comme celle-ci:
SELECT * FROM table1 WHERE ... LIMIT 1
et vérifier si des lignes ont été retournées?
Dans les deux requêtes, la clause WHERE utilise un index.
...EXISTS( SELECT 1/0 FROM someothertable)
. Pour SQL Server et Oracle - cela ne fait aucune différence d'utiliser *, 1 ou NULL car EXISTS ne teste qu'un booléen basé sur 1+ des critères WHERE correspondant.