Arturo Munive ha escrito:
> tengo un indice sobre una columna date.
>
>  cuando hago una consulta ...
>  *Select *
>      id
>  *from *
>      ventas
>  *WHERE *
>      fecha = date('12-JAN-2007')
>
>  el planificador usa el indice
>
>  pero cuando la restriccion es WHERE fecha < date('12-JAN-2007')
>
>  se efectua un barrido secuencial.
>
>  ni e indice ni la tabla ni la consulta son nada complejos
>
>  que me olvido o que debo hacer para que se utilize el indice cuando uso el 
> operador menor

Depende de la distribución de información en (y estadísticas de) la
tabla en cuestión.

1. ¿Haz ejecutado ANALYZE? El planificador depende de estadísticas
recientes para tomar una mejor decisión.

2. ¿En la tabla, la mayoría de los datos son menor que la fecha de
ejemplo? Si es así, y haz analizado, de igual forma el planificador
puede juzgar que el barrido secuencial es lo más indicado, ya que se
visitan la mayoría de las páginas de datos.

3. Si haz analizado y la distribución no es acorde a (2), entonces
puedes jugar con los parámetros de costo del archivo de configuración,
o incrementar el target de estadísticas de la columna en cuestión.
Consulta la documentación para ver estos casos.

Suerte.


---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to