排序算法分稳定排序和非稳定排序。通常非稳定排序的时间复杂度更低。
而在oracle中查询也要注意排序的结果集可能不是目标的结果集。
1, 未指定排序规则
select * from t order by something
此时会使用默认的增长的排序(ASCENDING)
2, 排序列不是唯一键或者排序列组合起来存在重复
此时查询10条和查询11条得到的前10条的数据可能不一致。
3, 未指定排序列
select * from t
很常见的写法,此时的数据没有任何排序(在Ask Tom中Tom回答Unless and until you add "order by" to a query, you cannot say ANYTHING about the order of the rows returned. 原文地址),因此在分页查询中,第一页中的数据有可能出现在第三页。
转载于:https://blog.51cto.com/5705145/2358211