ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rowid

rowid

原创 Linux操作系统 作者:xxet1034 时间:2012-05-04 15:53:19 0 删除 编辑
以下来自官方文档,翻译得不好,将就看:
        
对于数据库的每一行,都对应一个来自虚拟列rowid的值。oracle数据库rowid的值记录了每一行的必要位置信息:
·对象的编号
·每一行所在在数据文件中的数据块
·每一行在数据块中的位置(第一行为0)
·每一行所在的数据文件(第一个文件为1)。数据文件的位置关联到表空间。

通常来说,一个rowid的值是用来唯一标示数据库中的一行。但是在同一群集中存储的不同表中的行可以是同一个rowid。
虚拟列rowid的值有两种数据类型:ROWID或者UROWID。

rowid值有一些重要的用处:
·他们是最快的访问单一行的方式
·他们显示了行是怎样存储在一张表中的
·他们是唯一标示表的一行

你不应该用rowid来作一个表的主键。如果你使用import和export工具delete然后重新插入一行数据,rowid可能就会改变。如果你delete一行,oracle会重新分配他的rowid给新插入的行。

虽然你能在select和where查询语句中使用虚拟列rowid,但是这些虚拟列并不是真正存储于数据库中的。你不能dml他们

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25915379/viewspace-722734/,如需转载,请注明出处,否则将追究法律责任。

上一篇: impdp导入脚本。
下一篇: 索引优化
请登录后发表评论 登录
全部评论

注册时间:2012-01-12

  • 博文量
    23
  • 访问量
    44343