【发布时间】:2014-12-21 09:23:28
【问题描述】:
我有一张包含大约 90 万条记录的表格
votes 是一个 INT 字段,其数字介于 NULL-500k 之间
rating 是 0.0 到 10.0 之间的小数
这些查询大约需要 3 秒
select * from movie where genre = 'action' order by rating asc limit 0,2000;
select * from movie where genre = 'action' order by votes asc limit 0,2000;
这个永远不会结束
select * from movie where genre ='action' order by votes desc limit 0,2000;
我尝试在投票中添加索引,但没有任何区别
我很困惑为什么它在对 int 字段进行排序时遇到这么多问题。任何想法为什么?
【问题讨论】:
-
你把索引放在哪里了?应该在
genre -
你能告诉我
SHOW CREATE TABLE movies;的结果吗另外,你能告诉我EXPLAIN EXTENDED select * from movie where genre = 'action' order by rating asc limit 0,2000;的结果吗
标签: mysql sql indexing sql-order-by