辅助关键字搜索的索引结构

时间:2017-12-21 03:24:14

标签: mysql indexing database-performance query-performance

我有一张表(文章),结构如下:

id int(10) unsigned not_null auto_increment
title varchar(32)
system_id int(10) unsigned default 0
last_update int(10) unsigned default 0

为该查询提供最佳性能的表的推荐索引结构是什么:

"SELECT * FROM Articles where system_id = {ID} order by last_update desc"

2 个答案:

答案 0 :(得分:1)

正如here所述,从=列(system_id)开始,然后是"范围"列(last_update):

INDEX(system_id, last_update)

答案 1 :(得分:1)

我会添加这两个索引并检查EXPLAIN计划以查看它们中的哪些使用。 MySQL有时会选择排序索引而不是过滤索引,因此在某些情况下,第二个可能会更好。

ALTER TABLE `Articles` ADD INDEX `articles_index_1` (system_id, last_update);
ALTER TABLE `Articles` ADD INDEX `articles_index_1` (last_update);