estoy usando MySQL 5.1, y tengo una consulta que es más o menos de la forma:¿EXISTS es más eficiente que COUNT (*)> 0?
select count(*) from mytable where a = "foo" and b = "bar";
En mi programa, lo único que se comprueba es si este es cero o distinto de cero. Si puedo convertir esto en:
select exists(select * from mytable where a = "foo" and b = "bar");
es MySQL suficientemente inteligente como para detener la búsqueda cuando llega a la primera? ¿O hay alguna otra forma de comunicarme a MySQL que mi intención es simplemente averiguar si algún registro coincide con esto, y no necesito un recuento exacto?
Intente explicar en ambas consultas, debe obtener la respuesta. Puede publicar las salidas de explicación y la persona le ayudará a decodificar. – Zimbabao
¡Es extremadamente improbable que MySQL sepa optimizar '' COUNT (*)> 0'! – Gabe
El estándar ANSI dice que EXISTS es mejor porque no debe atravesar ni evaluar más allá de la "existencia" de una fila http://stackoverflow.com/questions/3271455/whats-the-best-to-check-if-item-exist -or-not-select-countidor-exist/3271464 # 3271464 – gbn