CÓMO

Establecer una sugerencia de SQL para instruir al optimizador de Oracle a la hora de elegir un plan de ejecución

Last Published: May 7, 2021

Resumen

Una sugerencia de Oracle proporciona directivas al optimizador al elegir un plan de ejecución para la declaración SQL en ejecución.

La sugerencia de Oracle INDEX indica al optimizador que debe utilizar un escaneo de índice para la tabla especificada. Utilice la sugerencia INDEX para índices basados en funciones, dominios, árboles B, mapas de bits y uniones de mapas de bits.

Al trabajar con tablas que contienen atributos ST_Geometry y un st_spatial_index, especifique la sugerencia de Oracle INDEX y el nombre del st_spatial_index para indicarle al optimizador que acceda a los datos por medio del índice.

Como se indica en la documentación de referencia de SQL de Oracle, ("Si la sugerencia INDEX especifica un único índice disponible, la base de datos realiza un escaneo de este índice. El optimizador no considera un escaneo completo de la tabla ni un escaneo de otro índice de la tabla.") cuando se especifica una sugerencia INDEX, el optimizador utiliza el índice como ruta de acceso principal.

Nota: El optimizador en Oracle 12c puede anular este tipo de sugerencia.

Procedimiento

El siguiente ejemplo muestra una declaración SQL que está consultando la tabla de parcelas con dos filtros de predicado, donde el propietario es igual a "ARATA" y donde el contorno interseca un área específica.

La tabla de parcelas tiene un índice en los atributos de forma y propietario. La inclusión de la sugerencia INDEX "/*+ INDEX (parcelas shape_idx) */"
dentro de la sentencia SQL, indica al optimizador que utilice el índice de la forma como la ruta de acceso (incluso si la selectividad y el coste del índice del propietario es menor que el coste del uso del índice de forma).

SQL> SELECT /*+ INDEX (parcels shape_idx) */ 2 FROM parcels 3 WHERE owner = 'ARATA' 4 AND st_envintersects(shape, 10, 12, 12, 14) = 1;

Para obtener más información sobre cómo establecer sugerencias de Oracle y otras sugerencias, consulte la documentación de Oracle.

Id. de artículo:000009658

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Información relacionada

Descubrir más sobre este tema