Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/08/2012, 10:46
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: "Snapshot too old usando un indice sobre una fecha ¿?

Gnzsoloyo, Tengo entendido que es una BD oracle 8i. cierto?
En esta versión no existe CBO. Todos los planes de ejecución son hechos con RBO.

Esta podría ser una respuesta lógica a lo que puede estar pasando y las diferencias entre ambas consultas.

En RBO al realizar el plan de ejecución basado en reglas y no en costos, el no acotar la consulta con un limite inferior, deja abierta la posibilidad a oracle de buscar datos asumiendo una distribución de datos equitativa entre los rangos de fechas solicitados.

Cita:
El optimizador sabe el valor mínimo o máximo de una columna por los histogramas en la vista ALL_TAB_COL_STATISTICS (campos HIGH_VALUE y LOW_VALUE), si la tabla Log_Sistema tiene inserciones constantes, es probable que esta información esté desactualizada, y por lo tanto, la condición WHERE Tiempo < Valor_Mínimo se tenga que resolver con un index full-scan, en este caso, la solución seria aumentar la frecuencia en que se calculan las estadísticas (dbms_stats.gather_table_stats)
Este comentario de matanga es muy acertado, y lo mas seguro es que por tu versión se presente esto, ya que las estadisticas no aplican para versiones de oracle 8i.

Personalmente hice un ejercicio parecido aca en mi trabajo (De igual forma la tabla de logs) y ambas consultas me respondían en tiempos muy similares. La versión que tenemos es la 11g.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming