Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设有一个包含列的表:Id(主键)、myTime、myName
然后执行查询:
select * from mytable order by myTime
但是在 myTime 中有几个具有相同值的条目。使用哪个顺序排列结果?我在几台机器上试过这个例子,结果不同。根据机器的不同,具有相同 myTime 值的结果排序不同(尽管两台机器都使用相同版本的 Oracle DDBB 10g)。
谢谢。
顺序将取决于表的访问方法,可能还有排序算法,但通常(我认为并非总是如此)你会看到隐式排序顺序将是 rowid 如果索引已经用于提供排序顺序。如果使用完整扫描和排序,那么我不想猜测。
如果需要确定性排序顺序,请按主键或唯一键添加顺序。在您有一个分页的应用程序的某些情况下,ROWID 的二级排序顺序可能会有所帮助。