SQL Server Insert时开启显式事务

如果没法避免一条一条的写入,那么在处理前显示开启一个事务 begin tran  在处理完成后 commit 这样也要比不开显示事务会快很多!

while i < 10000
begin
insert into test_0607
select @i,'0607无显示整体事务'
set i = i + 1
end

drop table test_0607
create table test_0607 (a int,b nvarchar(100))

---加上事务
begin tran
declare i int
set i = 1
while i < 10000
begin
insert into test_0607
select @i,'0607 显示整体事务'
set i = i + 1
end
----结束事务,提交
commit

结果 : 8秒和0.8秒的区别,不用多说啥了吧! 凡事有利有弊,这种显示开启大事务要保证的整体的过程不会执行特别长的时间,如果执行的操作特别多而且时间长就是灾难了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值