查询如下:
select * from table
where category in ('A', 'B')
order by upload_time desc
limit 60, 20;
category
的类型为varchar(60)
,upload_time
为datetime
。
有谁能告诉我在哪里创建索引最适合这种情况?非常感谢。
答案 0 :(得分:1)
您可以使用“EXPLAIN SELECT ...
”了解查询优化器如何关注您的查询,但我承认初学者很难理解输出。
您可以在类别上放置索引,因为您在WHERE子句中使用它。你也可以在upload_time上放一个索引,因为你正在对它进行排序。
最后,您可以使用“select *
”之外的其他内容,因为这会带回表中的所有列,如果您不使用它们,那么您所做的I / O数量超出了您的需求。