me encontré con esta pregunta en una entrevista y no tenía ni idea de cómo responder:Fuerza utiliza en el índice de Oracle
hay una tabla que tiene un índice en una columna, y su búsqueda:
select * from table_name where column_having_index="some value";
La consulta lleva demasiado tiempo y descubre que el índice no se está utilizando. Si cree que el rendimiento de la consulta será mejor utilizando el índice, ¿cómo podría obligar a la consulta a utilizar el índice?
Además, en las versiones más recientes de Oracle (10g + creo) puede especificar el nombre de la columna en lugar del nombre del índice, p. Ej. '/ * + INDEX (table_name column_having_index) * /' –
/* + INDEX (table_name (column_having_index)) */... opr ver mi respuesta para una sintaxis más compleja –
La sintaxis correcta es (¡tienes que usar alias de tabla!): select/* + INDEX (xxxTABLExxx index_name) */from table_name xxxTABLExxx – xnagyg