Mysql 不应该';这不是使用索引而不是where吗?

Mysql 不应该';这不是使用索引而不是where吗?,mysql,query-optimization,Mysql,Query Optimization,显示以下输出,尽管其上有索引。last\u active。。。。它不应该说索引而不是where EXPLAIN EXTENDED SELECT `member`.`id` , `member`.`name` FROM `member` WHERE `member`.`last_active` > '1289348406' 使用索引意味着查询根本不涉及表: 使用索引 只使用索引树中的信息从表中检索列信息,而无需执行额外的查找来读取实际行。当查询仅使用作为单个索引一部分的列时,

显示以下输出,尽管其上有索引。
last\u active
。。。。它不应该说
索引
而不是
where

EXPLAIN EXTENDED SELECT  `member`.`id` ,  `member`.`name` 
FROM  `member` 
WHERE  `member`.`last_active` >  '1289348406'

使用索引
意味着查询根本不涉及表:

使用索引

只使用索引树中的信息从表中检索列信息,而无需执行额外的查找来读取实际行。当查询仅使用作为单个索引一部分的列时,可以使用此策略

因为不是所有字段都包含在索引中,所以这是不可能的

当然正在使用索引本身(因为访问类型是
范围
),但它仍然需要在表中执行行查找,以检索
名称
id
的值


如果您想查看
使用索引
使用索引
,请在
(上次活动,名称,id)
上创建覆盖索引
使用索引意味着查询根本不触及表:

使用索引

只使用索引树中的信息从表中检索列信息,而无需执行额外的查找来读取实际行。当查询仅使用作为单个索引一部分的列时,可以使用此策略

因为不是所有字段都包含在索引中,所以这是不可能的

当然正在使用索引本身(因为访问类型是
范围
),但它仍然需要在表中执行行查找,以检索
名称
id
的值


(上次活动,名称,id)
上创建一个覆盖索引如果您想查看
使用索引

我只在一个页面上使用此查询,但它是一个非常活跃的页面。对于这样一个简单的查询,这样做是不是一个坏主意?对这些字段进行索引,因为它只会影响这个查询。在这样的查询上创建索引是一个坏主意吗?@Webnet:The
name
似乎是一个
VARCHAR
,因此它可以使索引变大,但是,如果这个查询真的很重要,那么它比其他查询更需要缓存,所以这是一个好主意。您的表有多大?我只在1页上使用此查询,但它是一个非常活跃的页面。对于这样一个简单的查询,这样做是不是一个坏主意?对这些字段进行索引,因为它只会影响这个查询。在这样的查询上创建索引是一个坏主意吗?@Webnet:The
name
似乎是一个
VARCHAR
,因此它可以使索引变大,但是,如果这个查询真的很重要,那么它比其他查询更需要缓存,所以这是一个好主意。你的桌子有多大?
id  select_type table   type    possible_keys   key key_len ref rows    filtered    Extra
1   SIMPLE  member  range   last_active last_active 4   NULL    2   100.00  Using where