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

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

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

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

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

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