NNxjh
2021-08-28 16:44
采纳率: 0%
浏览 23

Mysql查询操作是否会需要排序?

select * from t where city in ('杭州',"苏州") order by name limit 100;

假如已经设置了(city,name)的联合索引,这个查询还需要排序嘛?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • (city,name)联合索引包含city和city,name,上述SQL中where使用in查找无法名字city索引,所以order by name不会走联合索引,改成union查询命中联合索引正序排序直接是联合索引的顺序

    打赏 评论
  • wo.austin 2021-08-28 19:47

    索引是为了提高数据检索效率,排序是检索结果数据的顺序。索引跟排序都不是必须的。

    打赏 评论
  • orange4reg 2021-08-28 20:46

    一般是按照默认的顺序输出。需要不需要看你个人喜欢。

    打赏 评论