No basta sólo mirar que el visual explain no te proponga índices. Deberias 
mirar en el resumen de la derecha qué indice está utilizando. A veces 
simplemente no escoge el más adecuado. Tammbién ten en cuenta que ante 
ciertas circunstancias, el optimizador de DB2 no utiliza indices. Por 
ejemplo:

        -Columnas de la clave que sean "nullables" es decir admitan 
valores nulos
         -Usar  expresiones derivadas en SELECT  ya que el indice podría 
no ser utilizado para predicados con valores derivados. Ejemplo:
WHERE SHIPDATE > (current_date - 10) or UPPER(customer_name) =‘SMITH’ <- 
SMITH es un valor derivado de usar la función UPPER
         -El acceso por índice no se usa para predicados donde ambos 
operandos son de la misma tabla.
Ejemplo: WHERE SHIPDATE > ORDERDATE <-provoca doble acceso a la misma row

Hay otros casos, pero pudes comprobar estos.

Saludos
Luis López
__________________________________________________
Forum.HELP400 es un servicio m&amp;#225;s de NEWS/400.
&amp;#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a