Bases de Datos > MySQL

 Problema En Clausula Where

<< < (2/2)

Altareum:

--- Código: Text ---No termino de entenderlo porque no estoy accediendo a través del índice think.gif .- 
Entonces no te preocupes...

Intento explicarlo igualmente, de forma ràpida. En SQL cuando realizas conversiones en campos perteneciéntes al índice ( como una suma ), ya sea una función, una operación, etc... no utilizará el índice para realizar la búsqueda debido a que tiene que realizar la comparación campo por campo.

Por ejemplo (siendo que el campo fecha, sea parte del índice):
SELECT fecha WHERE DATE_ADD(fecha,INTERVAL 1 DAY) = CURDATE()

No utilizará el índice, para buscar los campos correspondientes, ya que para ello, tiene que convertir cada valor del campo, para saber si es igual a CURDATE().

Mientras que:
SELECT fecha WHERE fecha = DATE_SUB(CURDATE(),INTERVAL 1 DAY)

De esta forma si utilizará el índice, ya que buscará todas las fechas que sean iguales a hoy menos un día.
Por lo cual, el primer método es muchísimo más lento que el segundo...


Altareum.

Mollense:
...Académico  :smartass:

Es lo que yo pensaba...

Muchas gracias Altareum :beer:

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa