Es como te dicen, Rafael: Si usas el LIKE sin comodines, es semánticamente idéntico a usar "=".
Código MySQL:
Ver original+---------------------+
+---------------------+
| 0 |
+---------------------+
+----------------------+
+----------------------+
| 1 |
+----------------------+
Código MySQL:
Ver originalmysql
> SELECT 'abcde' = 'abcd';+------------------+
| 'abcde' = 'abcd' |
+------------------+
| 0 |
+------------------+
mysql
> SELECT 'abcde' = 'abcde';+-------------------+
| 'abcde' = 'abcde' |
+-------------------+
| 1 |
+-------------------+
Para mi (y que me perdonen los programadores), el uso de LIKE es un vicio de desarrolladores que no quieren escribir consultas mejores (fiaca, bah!). Es consultar datos al tun-tun.
De hecho, entre los lineamientos de buenas prácticas de la consultora para la que trabajo, explícitamente dice en los manuales que no debe usarse el LIKE en ningún desarrollo, y que de ser necesario sólo pueden hacerse con el comodín al inicio o al final ('%palabra' o 'palabra%'), pero nunca se usan al mismo tiempo.
La razón de esto es por un lado performántica: poner ambos obliga al motor de base de datos a realizar un
full table scan, una de las peores formas de consulta.
Por otro lado, tiene un sentido práctico: Si analizas el comportamiento de los usuarios, descubrirás que la mayor parte de las veces la persona busca el inicio de las frases o palabras, o el final de las mismas, pero muy rara vez busca frases intermedias. Y para estas últimas es siempre más eficiente el uso de indices FULLTEXT, MATCH() AGAINST o expresiones regulares.