Duda de Optimización de Oracle.

El optimizador de sentencias de Oracle puede trabajar en dos modos:
1. Optimización por reglas, sigue las reglas estándar de Oracle: Cada modo de acceso tiene asignado un peso, se elije el camino que tenga el menor peso total.
2. Optimización por costes, a partir de las estadísticas obtenidas para las tablas e índices, se decide cuales son los pasos a seguir. Esta optimización es mejor que la de reglas, pero obliga a sacar estadísticas de forma periódica.
La pregunta es : ¿Cómo indico al optimizador que use una u otra?
Desde luego, el computar estadísticas para la segunda no es problema. Pero necesito saber si me sirve de algo computarlas semanalmente si luego no me usa dicho modo.

1 Respuesta

Respuesta
1
En primer lugar debes de ver en el init. Ora el parámetro optimizer_mode, si tienes CHOOSE significa que podes estas utilizando costo, si tienes RULE, que tu optimizador esta basado en regla. La forma para escoger que utilizar esta utilizando hints. Por ejemplo
select /*+rule */ empno, name from emp;
Aqui el optimizador va a ser por regla, porque le estas diciendo que asi sea con el hint, podes utilizar /*+all_rows */ , /*+first_rows */
O algún otro hint.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas