sql >> Base de Datos >  >> RDS >> Oracle

Cómo verificar si el índice se está utilizando o no en Oracle

En Oracle SQL Developer, cuando tiene SQL en la hoja de trabajo, hay un botón "Explicar plan", también puede presionar F10. Después de ejecutar el plan de explicación, se mostrará en la vista inferior de SQL Developer. Hay una columna "OBJECT_NAME", le dirá qué índice se está utilizando. Por ejemplo, en una consulta que acabo de ejecutar, en la columna de la izquierda (OPERACIÓN) muestra primero "SELECCIONAR DECLARACIÓN", luego ORDENAR (AGREGAR) y luego ÍNDICE (ESCANEAR RANGO) y luego en la columna NOMBRE_OBJETO muestra TICKER_IDX1, que es el nombre de un índice en mi tabla.

De modo que puede ver a través de la columna OBJECT_NAME qué índices se están utilizando.

Puede suceder que Oracle Cost Based Optimizer elija un plan de ejecución subóptimo. Muchas veces actualizar las estadísticas resolverá el problema. Otras opciones son agregar índices adicionales, en otras palabras, un índice de varias columnas. Puede insinuar una declaración SQL, pero eso rara vez es necesario. Además, es posible reescribir la consulta.