Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/04/2009, 04:50
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: condicion WHERE 1

Yo también me he preguntado muchas veces por qué.
Una hipótesis: where 1 quiere decir SELECCIONAR ... DE LA TABLA cuyo resultado sea true. Se trataría de una búsqueda booleana no sobre columna sino sobre el resultado mismo de la consulta. Siempre se ha dicho que MySQL es más eficiente con where 1 que sin where. En el primer caso devolvería todos los registros de la consulta que devolvieran true (como no se especifica condición, los devuelve todos); la segunda recorre todos los registros y los devuelve. Yo, que no estoy seguro de esto, he hecho alguna prueba y devuelve todo cualquiera que sea el número, excepto el cero. Me da la impresión de que 0 es false, y todo lo demás funcionaría como true, pero no me atrevo a darlo por seguro.
Sobre el posible mito de las ventajas de where 1:
http://www.phpro.org/articles/MySQL-...re-1-Myth.html

Seguro que nos lo aclararán.