Ho una query MySQL (con MySQL 5.0.88), che sto cercando di velocizzare. La tabella sottostante ha più indici e per la query in questione viene utilizzato l'indice errato (i_active
- 16.000 righe, rispetto a i_iln
- 7 righe).Come suggerire l'indice da utilizzare in una query di selezione MySQL?
Non ho molta esperienza con MySQL ma ho letto che c'è un suggerimento use index
, che può forzare mySQL a usare un certo indice. Sto provando in questo modo:
SELECT art.firma USE INDEX (i_iln)
...
ma questo produce un errore MySQL.
Domanda:
Qualcuno può dirmi che cosa sto facendo male? (. Tranne in esecuzione 5.0.88, che non posso cambiare)
Per quello che vale, USE INDEX non forza l'indice con nome da utilizzare. Significa semplicemente "non considerare l'utilizzo di alcun * altro * indice". L'indice che tu chiami potrebbe essere irrilevante per la query, nel qual caso MySQL non lo userà ancora. –