社区
Oracle
帖子详情
Oracle查询默认排序问题
justin_jia_92
2016-04-28 04:24:38
表里面插入几千条数据,用select * 查出数据时发现显示的数据不是按照插入顺序排序的。应该是数据库本身有一套机制。求说法。
...全文
2331
8
打赏
收藏
Oracle查询默认排序问题
表里面插入几千条数据,用select * 查出数据时发现显示的数据不是按照插入顺序排序的。应该是数据库本身有一套机制。求说法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
brandspow
2018-01-17
打赏
举报
回复
实践经验分享。oracle 查询默认不带有任何排序,每次查询结果不可预期。我遇到问题是,一个select查询没有加排序,再翻页时,第二页的数据显示第一页的数据内容。解决方案:根据数据表的主键排序,并给此字段创建索引。也称之为聚集索引性能很好
xiongshao1943
2016-05-02
打赏
举报
回复
Oracle的官方文档说明了,如果要进行排序必需加上Order by字句。不保证插入顺序。 还有一点我感觉没有研究这个的实用性
xu176032
2016-04-29
打赏
举报
回复
楼主很有钻研精神, 不过正常使用的时候,如果显示的时候需要排序,没有人是用oracle默认排序的,那个也不靠谱,肯定是自己写order by的,建议不用浪费精力研究这个了。。
my_mtx
2016-04-29
打赏
举报
回复
Oracle数据库中数据的插入顺序和检索顺序没有直接关系,出现先插入但后查出的结果都是正常的,也未必按顺序插入就能按顺序读出,如果想保证顺序完全每次都一样的话,请使用order by,否则就存在乱序或不符合业务要求的结果。
卖水果的net
2016-04-29
打赏
举报
回复
基本上都不是按你插入的顺序读出来的;
justin_jia_92
2016-04-28
打赏
举报
回复
引用 2 楼 py418578291 的回复:
你怎么知道你的插入顺序,你一条条插吗
我用的主键自增,数据是一条一条读取出来插入的
ORAClE SE
2016-04-28
打赏
举报
回复
你怎么知道你的插入顺序,你一条条插吗
justin_jia_92
2016-04-28
打赏
举报
回复
沉了????
oracle
查询
取消
默认
排序
,
oracle
无order by ,
默认
排序
问题
以及
oracle
的
问题
Oracle
会根据具体的数据块的存储返回记录.
oracle
数据库是没有
默认
排序
的要
排序
必须加上order by因为
oracle
是按块进行读取数据的如果数据按顺序存储,则可能使读取出来的数据是按顺序的,给用户误解为
默认
排序
oracle
没有进行任何
排序
操作,rowid表示的是数据存放的数据块内部地址,如果没有要求
排序
,
oracle
会顺序的从数据块中读取符合条件的数据返回到客户端,不过看起来好像是按照...
oracle
查询
的
默认
排序
,
oracle
默认
排序
及认知
Oracle
对无orderby的语句返回的结果不进行
排序
,
oracle
此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid
排序
的。但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用。所以一个无orderby
查询
结果看起来也可能是个杂乱无章的。
oracle
的数据库实现就一个原则,怎么快怎么效率高就怎么来。大多...
oracle
查询
的
默认
排序
,
oracle
中select
查询
的
默认
行
排序
已经有人说过,当你没有指定ORDER BY子句时,允许
Oracle
按照它想要的任何顺序给你行。当您未指定ORDER BY子句时,推测订单的内容是没有意义的。在你的代码中依赖它,是一种“职业限制行动”。一个简单的例子:SQL>createtabletasselectlevelidfromdualconnectbylevel<=102/Tabelisaa...
Oracle
默认
排序
规则是什么?
问题
在不加 order by 的情况下,
oracle
的
默认
排序
规则是什么? — 按 ROWID 伪列递增
排序
。 示例: SELECT ROWID, S.* FROM DEPT S; ROWID 是按序递增生成的,唯一标识一条记录的物理位置。 ROWID 的组成部分: -- AAAR3q AAE AAAACH AAA -- 数据对象编号+文件编号+块编号+行编号 ROWID 的其它作用 plsqldev 中检索出数据后更新 在 plsqldev 或其它客户端工具中,一般在 select 后面加 fo
oracle
默认
排序
oracle
默认
排序
oracle
默认
排序
Oracle
17,089
社区成员
55,237
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章