Oracle 表中order by rowid是不是按照记录插入时间排序?

 Oracle 表中order by rowid是不是按照记录插入时间排序?

1,如果不是这样,请举例说明。
2,什么情况下依照如上规则呢?表没有删除操作时?还是完全不可能
 
定义表时,没有定义新增记录时间栏位,现在我需要找出某个条件下的第一条插入记录有什么办法呢?
      
①,不是这样的
②,什么情况下也不会的,因为:
rowid确定了每条记录是在Oracle中的哪一个数据对象,数据文件、块、行上。
ROWID 的格式如下:
   数据对象编号        文件编号        块编号            行编号
   OOOOOO             FFF                BBBBBB    RRR

   由 data_object_id# + rfile# + block# + row#   组成,占用10个bytes的空间,
    32bit的 data_object_id#,
    10 bit 的 rfile#,
    22bit 的 block#,
    16 bit 的 row#.



然后给你介绍一下rowid:
rowid是物理地址,用于定位oracle中具体数据的物理存储位置,,唯一标识一条记录物理位置的一个id,基于64位编码的18个字符显示。

再说一下它的用途:
RowID的用途
1,在开发中使用频率应该是挺多的,特别在一些update语句中使用更加频繁。所以oracle ERP中大部份的视图都会加入rowid这个字段。在一些cursor定义时也少不了加入rowid。但往往我们在开发过程中,由于连接的表很多,再加上程序的复制,有时忽略了rowid对应的是那一个表中rowid,所以有时过程出错,往往花上很多时间去查错,最后查出来既然是update时带的rowid并非此表的rowid,所以在发现很多次的错误时,重视rowid起来了,开发中一定要注意rowid的匹配
2,能以做快的方式访问表中的一行。
3,能显示表的行是如何存储的。
4,作为表中唯一标识。
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值