oracle在排序字段都相同时按什么排序? 问题如标题,比如有如下SQL:select * from t order by t.a,t.b,t.c;在t.a,t.b,t.c三个字段都相同的情况下,Oracle会如何排序?另外,sqlserver数据库在这种情况下又是如何排序的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 顶楼上,可能是按照rowid来排序的,这么做的代价会少点,其实可以做个小测试看看 按照rowid来排序的,大部分是按照插入时间顺序,极少数由于dml操作导致数据块变化 默认情况下,不写order by相当于按rowid排序。按相等字段排序应该会进行某种不稳定排序算法进行排序,并不是按rowiddelete之后再插入相等的数据也会改变排序,推测是与物理存储位置有关。再深入下去就没意思了,上面两点已经可以说明oracle排序的“随机性”。特别是oracle本身也没有公开order的具体算法,不同情况下可能有不同的算法。 db_block_checking和db_block_checksum区别 关于一个触发器的问题! ORA-12514 监听程序当前无法识别连接描述符中的服务 分布式表分区如何做呢? 存储过程:插入的时候最后一行多插入了一编 开窗函数 的问题 进来看题!! PL/SQL中如何把数据集导出成固定的文本格式,谁有实例,帮帮我!!! 请高手指点!急!!!!!!!! 一个有关sql语句的问题? 关于ORACLE处理时间中的毫秒问题 plsql连接不上CentOs7.6上装的oracle12C 报错ora00937不是单组分组函数
delete之后再插入相等的数据也会改变排序,推测是与物理存储位置有关。再深入下去就没意思了,上面两点已经可以说明oracle排序的“随机性”。特别是oracle本身也没有公开order的具体算法,不同情况下可能有不同的算法。