Ver Mensaje Individual
  #6  
Antiguo 26-06-2012
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 23
guillotmarc Va por buen camino
Hola.

Puedes utilizar un Expression Index (Índice sobre expresión). Mira la documentación sobre CREATE INDEX.

http://www.firebirdsql.org/refdocs/l...ate-index.html

Aunque no va a funcionar para el ejemplo concreto que has dado, puesto que tu expresión tiene parámetros, y por tanto no es posible evaluarla en el momento de insertar un registro (cuando se crea una entrada en el índice). Solo se puede evaluar en el momento de lanzar la consulta con unos parámetros concretos.

Es decir :

Esta expresión se puede optimizar mediante un índice.

create index ix_T on T computed by (coalesce(A, ''));

Pero esta expresión no se puede optimizar (no puedes indicar parámetros que solo existen en tiempo de lanzar la consulta).

create index ix_T on T computed by (coalesce(:A, A));

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita