免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3612 | 回复: 2
打印 上一主题 下一主题

请教关于rowid的几个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-05 23:46 |只看该作者 |倒序浏览
听说rowid反映的是数据的实际物理地址
现在我有一个大表需要操作,为提高效率我想用多进程处理,每个进程处理不同的数据,那么
1.rowid的编码规律或规则是什么,好像通常连续,但也有不连续的时候。18位编码中所有的可见字符都可能出现么。我问这个问题的目的是想通过rowid能将数据比较均匀的分布开,以便每个进程的负荷大致相当。另外rowid接近的数据是否通常存储在相同或相近的盘区中,以便我不同进程存取不同的物理IO,实现IO上的分布
2.通过rowid存取数据,比如where rowid between 'AAAAAAAAAAAAAAAAAA' and 'AAAAAAAAAACAAAAAAA'
数据库是否还会全表扫描
3.由于是并发操作,会有insert/update/delete操作,这些操作会影响rowid的值么(尤其是比如我A进程删除了1行,B进程又插入了1行,这两行的rowid有没有可能是同一个啊)

论坛徽章:
0
2 [报告]
发表于 2005-01-06 02:04 |只看该作者

请教关于rowid的几个问题

do not manipulate rowids directly.
for queries, use "parallel" hint to archive parallelism
for DMLs, parallelism can be achived by partition the tables

论坛徽章:
0
3 [报告]
发表于 2005-01-06 21:41 |只看该作者

请教关于rowid的几个问题

ROWID是和物理位置有关。从student guide中摘一段:
The format(ROWID) is OOOOOOFFFBBBBBBRRR:
. OOOOOO is the object number.
. FFF is the relative data file number where the block is located; the
file number is relative to the tablespace.
. BBBBBB is the block ID where the row is located.
. RRR is the row in the block.

不过如楼上sshd说的一样,不要直接操作ROWID!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP