42

高速化しようとしている MySQL クエリ (MySQL 5.0.88 を実行) があります。基になるテーブルには複数のインデックスがあり、問題のクエリでは間違ったインデックスが使用されています ( i_active- 16.000 行に対してi_iln- 7 行)。

私はMySQLの経験があまりありませんが、use indexmySQLに特定のインデックスを使用させることができるヒントがあることを読んでください。私はこのように試しています:

 SELECT art.firma USE INDEX (i_iln)
 ...

ただし、これにより MySQL エラーが発生します。

質問:
誰かが私が間違っていることを教えてもらえますか? (私が変更できない 5.0.88 を実行していることを除いて。)

4

4 に答える 4

73

あなたは逃した

FROM table

正しい SQL は次のようになります。

SELECT art.firma FROM your_table USE INDEX (i_iln) WHERE ....
于 2012-07-31T01:15:06.383 に答える
5
select * from table use index (idx);

http://dev.mysql.com/doc/refman/5.0/en/index-hints.html

于 2012-07-31T01:14:37.663 に答える