我应该使用InnoDB将主键添加到辅助索引吗?

时间:2014-12-16 07:59:42

标签: mysql sql indexing

例如我有这张表:

| id | name | age |

id是主键;

这是查询:

select id from table where age > 12 order by id desc

是否有必要将id附加到索引,如:

KEY idx (age, id)

或者这个指数足够吗?

KEY idx (age)

ps:我使用INNODB作为存储引擎。

2 个答案:

答案 0 :(得分:3)

来自Docs

  

在InnoDB中,辅助索引中的每条记录都包含该行的主键列,以及为辅助索引指定的列。

所以不,假设idtable的主键,那么它也会出现在所有辅助(非群集)索引上,即只添加age指数。

答案 1 :(得分:-2)

只是那个查询,没有其他信息。追加id要好得多。 追加索引涵盖了您的查询。