Oracle一个块(Block)最多能装多少行

这篇博客探讨了如何在Oracle数据库中使用PL/SQL进行8000条数据的批量插入,并通过DBMS_ROWID包分析ROWID的相对文件号(f)和数据块号(b)。内容涉及数据库性能优化和数据定位,展示了如何利用ROWID进行行级操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

create table test_blocknum (id varchar2(1));


begin
for i in 1 .. 8000 loop
    insert into test_blocknum values ('a');
end loop;
commit;
end;
/
select dbms_rowid.rowid_relative_fno(rowid) f,
       dbms_rowid.rowid_block_number(rowid) b 
from test_block_num;

dbms_rowid.rowid_relative_fno(rowid) f #ROWID的相对文件号 https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_rowid.htm#ARPLS67770
dbms_rowid.rowid_block_number(rowid) b #ROWID的数据块号 https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_rowid.htm#ARPLS67762
       

select f, b, count(*)
    from (select dbms_rowid.rowid_relative_fno(rowid) f,
                  dbms_rowid.rowid_block_number(rowid) b 
           from test_block_num)
group by f, b;

在这里插入图片描述

show parameter db_block_size

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值