#实验 - 约束对批量装载数据的性能影响

文章探讨了数据完整性约束在确保数据质量方面的作用,以及在大批量数据插入时如何通过临时禁用约束来提升性能。实验显示,无约束的表在插入100万行数据时比有约束的表速度快,但启用约束会增加性能消耗。
摘要由CSDN通过智能技术生成

约束能确保数据完整性,禁止不符合业务规则的数据插入表中,即在数据录入前做一次判断

由于约束可以随时禁用和启用,在批量装载数据时,若能确保这些大批量插入的数据都符合数据完整性,则可以在插入前临时禁用约束,待批量装载操作完成后,再重新启用约束

环境准备

--无约束的表t_no_unique
drop table t_no_unique;
create table t_no_unique(a int);
--有约束的表t_unique
drop table t_unique;
create table t_unique(a int primary key);

性能对比

--显示sql语句运行时间
set timi on
--向表t_no_unique插入100万行数据
insert into t_no_unique select rownum from dual connect by level<=1000000;
commit;
--向表t_unique插入100万行数据
insert into t_unique select rownum from dual connect by level<=1000000;
commit;

实验结果
插入100W行数据,无约束2.4s,有约束6.67秒
大批量插入数据时,约束判断次数增多,性能消耗增多
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值