Cita:
Empezado por ARPE1
Código SQL [-]JOIN (ALMAC NATURAL, ARTIC INDEX (ARTIC_IDX3, ARTIC_IDX4))
Aunque veamos ALMAC NATURAL , no preocupa sólo tiene 40 registros y los lee una vez (analizado con IBExpert).
|
Ese no es el mismo query del principio -pero pasa igual?-, y no estan los tiempos. Sin embargo si es un producto cartesiano no importa que ALMAC sea pequeña, igual deberia tener los indices. Segun el plan, hay una lectural natural (ie: lee cada registro de la tabla). Probaste poniendo indices?
Y por favor, usa el mismo dato para hacer evaluaciones y medidas, si cambias los querys cada vez pues como se puede determinar exactamente la causa?
Lo ultimo se me ocurre, es que el disco este fragmentado, o que las
estadisticas de los indices esten desincronizadas. El que vuele con SSD muestra en parte eso (los SSD no se fragmentan, y tienen IO superveloz). Es claro, desde mi punto de vista, que FB esta leyendo datos del disco y no desde los indices (en memoria). La 2da vez es rapido porque tiene los planes, indices, etc precalculados y las estadisticas corregidas...