![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
21/04/2008, 08:32
|
![Avatar de gnzsoloyo](http://static.forosdelweb.com/customavatars/avatar204377_5.gif) | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses Puntos: 2658 | |
Re: porque este indice no funciona?? Sobre esto último, lo mejor sería saber si existe una variación muy grande de fechas o las mismas se acumulan principalmente en un rango.
Me explico.
Si existe un indice BTREE o HASH definido sobre un DATETIME de una tabla, y dentro del conjunto de registros existe una dispersión homogénea de valores, el índice es muy útil porque permite acotar rápidamente los registros a usar cuando se los compara con <= AND >= .
Pero si la dispesión se acumula en picos de fechas, puede que la cantidad de registros a traer sea casi equivalente a media tabla. Entonces el índice no resulta tan eficiente y es descartable.
¿Como decidir si usarlo o ignorarlo?
Un tip podría ser considerar qué tipo de datos estamos guardando.
Si estamos almacenando registros que se generan entre rangos de fecha más o menos fijos es posible que nos convenga eliminar el índice.
Por ejemplo: las cuotas de una escuela privada, por ejemplo, lo hacen entre el 1 y el 10 de cada mes.
Pero en la emisión de facturas de una estación de combustible, puede que no, porque la dispersión de ventas es mas o menos homogénea a través del mes.
Hay que, entonces, analizar los casos en particular y no caer en generalizaciones que pueden no ser funcionales. |