Quiero hacer una consulta en Mysql, pero el LIKE encuentra cosas parecidas. Necesito que encuentre solamente una cadena idéntica.
¿Cual es el comando?
| ||||
Respuesta: Más específico que LIKE ![]() Aparte... los de Php son mis consentidos para preguntar ![]() Yo tenía entendido que WHERE columna LIKE 'foo' daba resultados como foo1, foo2, foolanito... En alguna prueba que hice eso daba de resultado. |
| ||||
Respuesta: Más específico que LIKE Es como te dicen, Rafael: Si usas el LIKE sin comodines, es semánticamente idéntico a usar "=".
Código MySQL:
Ver original
Código MySQL:
Ver original 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.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) Última edición por gnzsoloyo; 16/04/2013 a las 21:10 |
Etiquetas: |