Obviamente, mantener varios índices diferentes tiene un impacto negativo en el rendimiento de inserción y eliminación. ¿Qué pasa con el rendimiento de la consulta: tiene sentido mantener demasiados índices en una tabla? ¿Mejorará el rendimiento de la consulta en cualquier caso con un índice agregado (por supuesto, para consultas que utilizan el índice) o incluso es posible que el rendimiento de la consulta se degrade con demasiados índices porque es necesario consultar todos los índices para obtener el ¿resultado?
En caso de que haya diferentes índices en una tabla: ¿se considerarán todos, o solo los mejores desde el punto de vista del optimizador? ¿Oracle implementa índices multidimensionales?
oracle
performance
index
paweloque
fuente
fuente
Respuestas:
Generar el plan llevará un poco más de tiempo cuando haya más índices a considerar, pero dudo que la diferencia sea significativamente significativa. Los motivos para descartar un índice no enumeran el rendimiento de la consulta. Por otro lado, en general, no debe crear índices a menos que sepa que se utilizarán para hacer una consulta más eficiente.
De la Guía de conceptos de Oracle , estos son los criterios para crear un índice.
Todos los índices se considerarán en el sentido de que todos los índices en las tablas de la consulta se examinan para determinar si se pueden usar. Los que podrían ser se examinan más a fondo para determinar la utilidad.
fuente
Mientras sus estadísticas estén actualizadas, el optimizador basado en costos debe tomar decisiones sensatas sobre qué índices usar. Si no es así, es el momento de utilizar pistas . Nunca consultará un índice en una columna que no sea necesaria para satisfacer la consulta.
fuente
Encontré esto en Seleccionar una estrategia de índice de la Guía del desarrollador de aplicaciones . Esa página trata sobre 'seleccionar una estrategia de índice':
fuente