Ver Mensaje Individual
  #1  
Antiguo 19-12-2013
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 21
gluglu Va por buen camino
Firebird - Condición en Where que utilice los indices correctamente

Hola !

Firebird 2.5

Intento hacer algo como esto :

Código SQL [-]
Select * from TABLA
where (:MODO = 1 and CLAVE = 1) or
      (:MODO = 2 and CLAVE = 2)

La tabla está indexada por el campo CLAVE, pero necesito condicionar la consulta según un parámetro externo.

En esta consulta, si MODO = 1, siempre recorre la tabla completa (pongamos 100.000 registros).

Si cambio la consulta por

Código SQL [-]
Select * from TABLA
where CLAVE = 1

la consulta sólo recorre 10 registros ya que TABLA está indexada por CLAVE y sólo hay 10 registros con Clave = 1.

Gracias por vuestra ayuda.

Saludos
__________________
Piensa siempre en positivo !
Responder Con Cita