2

我有一个非常简单的查询,确实需要尽可能快...

查询是:

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

userid 设置为主键...

解释返回以下内容:

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 中使用“使用 where” 。检查该key列以查看是否实际使用了密钥。

于 2012-10-11T15:15:22.163 回答
2

在您的查询中, where 是它唯一可以使用的东西。看起来它正在使用主键,因为该IN子句直接与索引字段(在本例中为您的 pk)进行比较,因此没有比这更好的了!实际上,不可能比这更好...

于 2012-10-11T15:15:37.780 回答