mysql 优化sql语句 order by 同时有 asc 和 desc

mysql 优化sql语句 order by 同时有 asc 和 desc

type_id 的值有 0,1,2,3

select id,name,type_id from user order by type_id asc,id desc

这样的语句怎么优化,求大神指教

阅读 10k
3 个回答

sql不是万不得已一定要有条件筛选,你这实在没有,要优化就加个type_id,id,name的复合索引造一个索引覆盖扫描吧

这个语句看着没有什么性能上的问题啊?你想要优化的是什么呢?可以加索引

1.from 而非 form

2.首先sql会先根据type_id升序排序,然后再根据id降序排序。
仅当至少两个相同type_id相同值记录的行才会按照id降序排序。

如图:

clipboard.png

查询结果:

clipboard.png

至于你说的优化,一般建索引。
可以参考之前写的,希望对你有用:
MySQL索引优化:https://segmentfault.com/a/11...

MySQL性能优化:https://segmentfault.com/a/11...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题