如何优化这个mysql查询的位置,顺序以及分页?

时间:2014-03-22 01:20:56

标签: mysql

查询如下:

select * from table 
where category in ('A', 'B') 
order by upload_time desc 
limit 60, 20;

category的类型为varchar(60)upload_timedatetime

有谁能告诉我在哪里创建索引最适合这种情况?非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用“EXPLAIN SELECT ...”了解查询优化器如何关注您的查询,但我承认初学者很难理解输出。

您可以在类别上放置索引,因为您在WHERE子句中使用它。你也可以在upload_time上放一个索引,因为你正在对它进行排序。

最后,您可以使用“select *”之外的其他内容,因为这会带回表中的所有列,如果您不使用它们,那么您所做的I / O数量超出了您的需求。