select city,name,age from t where city='深圳' order by name limit 1000;
1.如果有索引(city, name),则直接遍历索引树即可,不需要额外的排序,因为索引树就是根据name来排序的了;
2.如果name没有建立索引,则首先把符合where条件的数据加载到内存中,如果内存够用,就在内存里面排序,如果内存不够用,则需要在磁盘中排序了,在磁盘中排序性能相对来说是比较差的,需要避免。
select city,name,age from t where city='深圳' order by name limit 1000;
1.如果有索引(city, name),则直接遍历索引树即可,不需要额外的排序,因为索引树就是根据name来排序的了;
2.如果name没有建立索引,则首先把符合where条件的数据加载到内存中,如果内存够用,就在内存里面排序,如果内存不够用,则需要在磁盘中排序了,在磁盘中排序性能相对来说是比较差的,需要避免。