Oracle在查询Sql中不使用order by,导致数据量足够大的时候同样的sql查询的结果顺序不同?

2025-03-15 02:07:00
推荐回答(2个)
回答1:

oracle是按照rowid来排序的,也就是每一行的地址,当中间发生一些数据操作,比如删除数据时,这个物理地址会被新数据使用,oracle的数据在存的时候也是杂乱无序的,可以通过创建索引,根据索引查询解决问题

回答2:

加一列rownum(oracle自带),然后按照分页取数字就是了。
我不知道你的具体分页方式,只能给一个通用的方法。