Ver Mensaje Individual
  #8 (permalink)  
Antiguo 28/06/2011, 20:00
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: OPTIMIZAR SELECT ORACLE 10g

Hay algunas consideraciones que puedes evaluar:

1. El valor de Plan Hash Value es solo un identificador numérico para el plan de ejecución, es la forma fácil de saber si dos planes son iguales.

2. Por lo que se puede ver del plan de ejecución, la tabla PPGA_BONOPRE es grande y se accede a los datos con la operación full scan, aún cuando el filtro sobre la columna fec_estabono es de dos días, un índice sobre este campo puede ser útil.

3. Como te decía, en la medida que van mejorando el optimizador, los hints son menos necesarios, para evaluar una consulta el orden de tareas puede ser:

3.1 Actualizar las estadísticas, por ejemplo, para el esquema propietario de las tablas

Código:
begin
dbms_stats.gather_schema_stats('NOMBRE_ESQUEMA');
end;
/
3.2 Una vez actualizada las estadísticas, evaluar el plan de ejecución (sin hints) buscando pistas sobre posibles índices. En caso de que crees alguno, vuelve a ejecutar el paso anterior para que el optimizador los tenga en cuenta y de nuevo el plan de ejecución para ver las diferencias.

3.3 Finalmente, si después de los cambios y ajustes de memoria no ves mejoras, puedes recurrir a los hints.

Saludos