miércoles, 20 de mayo de 2020

HINTS EXAMPLE

SELECT /*+ HINT */ FROM TABLE WHERE CONDITION;

Hay que tener en cuenta que si no es posible efectuar lo que se indica con el hint lo ignorará ejecutándose de manera normal, tampoco afectan a subconsultas en la misma sentencia SQL, cualquier hint (excepto rule) fuerzan el uso del optimizador por costes.

Algunos posibles parámetros son:

/*+ ALL_ROWS */ Ejecuta la consulta por costes y la optimiza para que consuma el menor número de recursos posibles.
/*+ FIRST_ROWS */ Ejecuta la consulta por costes la optimiza para conseguir el mejor tiempo de respuesta.
/*+ CHOOSE */ Ejecuta la consulta por costes, es decir, el optimizador se basa en las reglas básicas, pero teniendo en cuenta el estado actual de la base de datos.
/*+ RULE */ Ejecuta la consulta por reglas, es decir, el optimizador se basa en ciertas reglas para realizar las consultas. Por ejemplo, si se filtra por un campo indexado, se utilizará el índice, etc.
/*+ INDEX( tabla índice ) */ Fuerza la utilización del índice indicado para la tabla indicada.
/*+ ORDERED */ Hace que las combinaciones de las tablas se hagan en el mismo orden en que aparecen en el join.

select /*+ index(HR.EMPLOYEES EMP_EMAIL_UK)*/ * from hr.employees

where email like 'A%'


set autotrace traceonly

No hay comentarios: