为什么MySQL在“额外”列中显示“使用where”?

为什么MySQL在“额外”列中显示“使用where”?,mysql,Mysql,我有一个非常简单的查询,真的需要尽快 查询是: select users.userid, users.firstname, users.lastname from users_table users where userid IN(1,4,6) 用户ID设置为主键 解释以下内容: id |select_type|table|type |possible_keys|key |key_len|ref |rows|Extra 1 |SIMPLE

我有一个非常简单的查询,真的需要尽快

查询是:

select users.userid, users.firstname, users.lastname
       from users_table users   
       where userid IN(1,4,6)
用户ID设置为主键

解释以下内容:

id  |select_type|table|type |possible_keys|key    |key_len|ref |rows|Extra
1   |SIMPLE     |users|range|PRIMARY      |PRIMARY|4      |NULL|3   |Using where
现在,我的印象是“使用where”是件坏事


有人能解释为什么我会看到这个吗?

在MySQL中使用where是可以的,因为。检查keycolumn以查看是否实际使用了该键。

在MySQL中使用where是可以的,因为。检查keycolumn以查看是否实际使用了该键。

在您的查询中,where是它唯一可以使用的东西。它看起来像是在使用主键,因为IN子句是与索引字段的直接比较,在本例中是您的pk,所以不会比这更好!实际上,不可能比这更好…

在您的查询中,where是它唯一可以使用的东西。它看起来像是在使用主键,因为IN子句是与索引字段的直接比较,在本例中是您的pk,所以不会比这更好!事实上,不可能比这更好……

我明白了,出于某种原因,我在脑海里想,任何时候我看到“使用where”而不是“使用index”都是一件坏事。谢谢你的回答。作为一名主要的UI设计师/前端程序员,试图学习后端的东西是非常令人沮丧的我会尽快给你答案+1因为这是最完整的答案,尽管AndreKR也正确地指出这是很好的。我明白,出于某种原因,我在头脑中认为,无论何时我看到“使用where”而不是“使用index”,这都是一件坏事。谢谢你的回答。作为一名主要的UI设计师/前端程序员,试图学习后端的东西是非常令人沮丧的我会尽快给你答案+1因为这是最完整的答案,尽管AndreKR也正确地指出这是很好的。