Tecnología

Inicio

Sugerencias SQL de Oracle

Las sugerencias son características de base de datos Oracle que permiten a los programadores Oracle decirle que ya conocen la mejor ruta de ejecución de una consulta SQL y proporcionar información para que la ruta para que Oracle adquirirá la misma. Las sugerencias son simples comandos que indican al optimizador para hacer lo que se le dice.

lo que sugiere Sugerencias

Antes de comenzar el trabajo real para responder a una consulta, Oracle mira a su alrededor y toma una decisión sobre lo que cree que es la mejor manera de realizar la consulta. Este es el optimizador. Determina la forma más eficiente para ejecutar una instrucción SQL después de considerar muchos rasgos relacionados con los objetos referenciados y las circunstancias especificadas en la consulta.

Incluso si el diseño de la aplicación utilizando código diseñado inteligente, se va a encontrar que hay indicios necesarios para las declaraciones ante el optimizador sigue la ruta de ejecución "óptima". A veces, el optimizador puede requerir ayuda debido a defectos en su modelo o problemas nativas en la recogida, almacenamiento y procesamiento de datos complejos. Consejos pueden forzar al optimizador a hacer la mejor ruta de ejecución para una consulta, no importa lo que la deficiencia. Sin embargo, lo que sugiere pistas para el optimizador se debe sólo cuando sea absolutamente necesario y si usted es un desarrollador con experiencia intentó.

Tipos de sugerencia

Oracle tiene tres tipos de pistas.

sugerencia de combinación
La sugerencia de combinación se utiliza cuando más de una tabla se utiliza en una consulta. Esta sugerencia obliga al tipo de junta procedimiento que se utiliza. Las combinaciones se pueden utilizar en SELECT, UPDATE y DELETE. La siguiente receta anticipado sugiere unirse a las órdenes:

/ + Abierto ([@queryblock] tablespec [tablespec] ...) /

sugerencia de consulta
Una sugerencia de consulta se utiliza cuando la lógica específica tiene que ser funcional a una consulta de conjunto, en lugar de parte de ella. Por otro lado, no hay manera de determinar qué parte de una consulta se debe utilizar con la indirecta. Una consulta siempre tiene el SELECT, UPDATE, DELETE, INSERT o MERGE. La siguiente receta se puede utilizar con todos ellos:

seleccionar / + PISTA / nombre
de emp
donde id = 1
IR

sugerencia de tabla
Consejos que especifican una mesa por lo general se refieren a las tablas en el o instrucción DELETE, SELECT, UPDATE de una consulta en la que se produce la indirecta, no a las tablas dentro de cualquier punto de vista transmitidos por la declaración. El optimizador de consultas elige generalmente el mejor método de optimización sin pistas que se especifican. Sin embargo, aunque se especifica una sugerencia de tabla en el código, el optimizador de consultas puede ignorar la indirecta. sugerencias de tabla serán ignorados si la tabla no es elegido por el optimizador de consultas y se utiliza en el plan de consulta sucesiva.

seleccionar / + ALL_ROWS / employee_id, apellidos, salario, job_id
de emp
donde employee_id = 4689;