利用ROWID更新表的实验

本文通过实验对比了使用ROWID更新表与普通UPDATE在处理大批量和小批量数据时的性能差异。实验结果显示,在更新大批量数据时,普通UPDATE通常更快,而在更新小批量数据时,通过ROWID的游标更新方法表现更优,尤其是在对ROWID排序后。作者推测这可能与内存分布和回表的IO成本有关。

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

-- 利用ROWID更新表数据
-- 网上有人说用ROWID更新表比普通的UPDATE要慢,然后我就做了以下的实验:
-- 为了减少相互之间的影响,我建了4张表。数据是一样的


---------------------------实验开始---------------------------
-- 1.准备数据
-- drop table test purge ;
create table test 
(
  id           number(8)
  ,name        varchar2(12)
) nologging ;


set timing on
begin
for i in 1..1000000 loop
insert into test
(
  id,name
) values 
(
  i,'a'||i
) ;


end loop ;
commit ;


end ;
/


select count(1) from test ;
  COUNT(1)
----------
   1000000
   
-- 建立4张表 
-- drop table test4 purge ;
create table test4 nologging as   
select * from test ;   


已用时间:  00: 00: 00.02
-------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值