比如我们一条 sql
select * from tb where id=xxx order by create_time desc limt 0,20
id 和 create_time 都是有索引的
但是 where 限定里面使用的 id,就会走 id 这个索引了,但是我们业务上需要用 create_time 排序,因为要取前 20 条,这个 sql 怎么优化会快些呢?
另外不使用索引排序的话 mysql 是怎么排序的? 把结果集加载到内存中进行排序吗?
另外不使用索引排序的话一般会 using filesort 的,但是我 explain 一下的话结果发现没有这个,这是为什么呢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.