2

私は本当にできるだけ速くする必要がある非常に単純なクエリを持っています...

クエリは次のとおりです。

select users.userid, users.firstname, users.lastname
       from users_table users   
       where userid IN(1,4,6)

主キーとして設定されたユーザー ID...

EXPLAIN は以下を返します。

id  |select_type|table|type |possible_keys|key    |key_len|ref |rows|Extra
1   |SIMPLE     |users|range|PRIMARY      |PRIMARY|4      |NULL|3   |Using where

さて、私は「どこで使う」というのは悪いことだと思っていましたか?

なぜ私がこれを見ているのか、誰か説明できますか?

4

2 に答える 2

2

この問題のため、MySQL に「Using where」があっても問題ありません。列をチェックしてkey、キーが実際に使用されているかどうかを確認します。

于 2012-10-11T15:15:22.163 に答える
2

クエリでは、使用できるのは where だけです。句がインデックス付きフィールド (この場合は pk) と直接比較されているため、主キーを使用しているように見えるためIN、これよりもはるかに良くなることはありません! 実際、これ以上良くなることは不可能です...

于 2012-10-11T15:15:37.780 に答える