排序算法分稳定排序和非稳定排序。通常非稳定排序的时间复杂度更低。

而在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.  原文地址),因此在分页查询中,第一页中的数据有可能出现在第三页。