Tengo una consulta MySQL (ejecutando MySQL 5.0.88), que estoy tratando de acelerar. La tabla subyacente tiene múltiples índices y para la consulta en cuestión, se utiliza el índice incorrecto (i_active
- 16,000 filas, frente a i_iln
- 7 filas).¿Cómo insinuar el índice para usar en una consulta de selección de MySQL?
No tengo mucha experiencia con MySQL pero leo que hay una sugerencia de use index
, que puede obligar a mySQL a usar cierto índice. Lo intento así:
SELECT art.firma USE INDEX (i_iln)
...
pero esto produce un error de MySQL.
Pregunta:
¿Alguien me puede decir lo que estoy haciendo mal? (. Excepto corriendo 5.0.88, que no puedo cambiar)
Por lo que vale, USE INDEX no fuerza el uso del índice nombrado. Simplemente significa "no considerar el uso de ningún * otro * índice". El índice que usted designe puede ser irrelevante para la consulta, en cuyo caso MySQL aún no lo usará. –