Oracle sequence cache

create  table tab_test_seq(id number,col1 number(14) ,col2 varchar2(24)) ;
create sequence seq_test_insert;--seqence默认cache是20
alter sequence seq_test_insert  nocache;



SQL> select sequence_name,cache_SIZE  from dba_sequences where sequence_name  = 'SEQ_TEST_INSERT' ;

SEQUENCE_NAME                  CACHE_SIZE
------------------------------ ----------
SEQ_TEST_INSERT                    0

--查看执行时间
SQL> set timing on
SQL> begin
  2  for i in 1..50000 loop
  3  insert into tab_test_seq(id,col1,col2) values(seq_test_insert.nextval,99999,'qqq');
  4  end loop;
  5  commit;
  6  end;
  7  /

PL/SQL 过程已成功完成。

已用时间:  00: 00: 09.78

--修改cache
drop table tab_test_seq purge;
drop sequence seq_test_insert;
--重新建表
create  table tab_test_seq(id number,col1 number(14) ,col2 varchar2(24)) ;
create sequence seq_test_insert;--seqence默认cache是20
alter sequence seq_test_insert cache 1000;

--时间差别还是蛮大的,若在多会话插入及rac环境中,效率的影响更大
SQL> begin
  2  for i in 1..50000 loop
  3  insert into tab_test_seq(id,col1,col2) values(seq_test_insert.nextval,99999,'qqq');
  4  end loop;
  5  commit;
  6  end;
  7  /

PL/SQL 过程已成功完成。

已用时间:  00: 00: 02.29

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值