苏飞论坛
标题:
把3000 条 sql语句 捆绑成一个事务执行可以吗?
[打印本页]
作者:
yangying
时间:
2013-5-10 15:26
标题:
把3000 条 sql语句 捆绑成一个事务执行可以吗?
♂羽毛<> 15:18:33
把3000 条 sql语句 捆绑成一个事务执行可以吗?
♂dyrne() 15:19:40
哈,我找到了
♂Inghot() 15:21:40
[code=sql]Begin TransAction
set @sql=''
exec(@sql)
set @errno=@errno+@@error
set @sql=''
exec(@sql)
set @errno=@errno+@@error
set @sql=''
exec(@sql)
set @errno=@errno+@@error
If @errno>0
begin
print('处理失败,回滚事务!')
rollback TransAction
end
Else
Begin
print('处理成功,提交事务!')
Commit TransAction
End[/code]
这样的多条语句么?
♂羽毛<> 15:23:15
底层不是很清楚,怎么写的。
sqlHelp 中的那种事务执行。
将sql语句写在一个ArrayList 中。
语句太多了我在想会有问题吗?
作者:
yangying
时间:
2013-5-10 15:28
♂羽毛<> 15:26:17
现在主要是一条条的执行语句 速度太慢了。。。
看弄成事务 能快点吗。
♂站长苏飞() 15:27:39
事务更慢,事务只能加重,
♂羽毛<> 15:27:52
。。。。
♂站长苏飞() 15:27:57
好处是保证完整,可以回滚
作者:
yangying
时间:
2013-5-10 15:30
♂Inghot() 15:28:27
事务留有后路。
♂lang() 15:28:27
那么多sql一起执行,不用事务,怎么保证数据的完整性
♂羽毛<> 15:28:35
我的是在一个循环里写的执行sql 语句。
循环一次执行一条。。
好慢啊。 添加2000+ 数据 需要 20分钟。
♂站长苏飞() 15:29:09
不要执行一次连接一次数据库,要一次性这样会快些
♂lang() 15:29:13
你的程序有问题吧,不应该这么慢
作者:
yangying
时间:
2013-5-10 15:38
♂羽毛<> 15:30:00
想 站长 说的
红色的是数据库连接字符串。
应该就是 执行一次链接一次。所以很慢。
♂羽毛<> 15:31:09
对了,我可以把 N条合成一条执行啊。。
跟事务没关系啊。
♂Inghot() 15:33:03
多条语句,直接用;连成一条。
♂羽毛<> 15:33:36
对,我也想到了,这样试一下,应该会好很多。
♂lang() 15:33:46
这样没保证数据的一致性
♂羽毛<> 15:34:08
数据基本不可能出现一个执行一个不执行的可能。
都是在做添加操作。
♂站长苏飞() 15:34:36
如果是写入的没必要保证完整
一条数据和下一条没关系的应该是,
保证什么完整
就没有完整怎么保证
♂lang() 15:34:59
如果你某个字段超出的了最大长度怎么办?
♂羽毛<> 15:35:05
恩
♂站长苏飞() 15:35:10
不能一条失败正确也不让写入吧
♂Inghot(253517853) 15:35:15
他估计是一条语句里面操作多个表吧
♂lang() 15:35:24
看实际情况
♂站长苏飞() 15:35:43
看他的问题
应该是写入
♂羽毛<> 15:35:49
一个表,不存在 那种风险
恩。
♂站长苏飞() 15:36:07
这咱最好的方式就是拼成一条直接写入
♂羽毛<> 15:36:25
我在试,看看时间怎么样
♂站长苏飞() 15:36:32
恩,
♂Inghot() 15:36:47
一个表插入2000+记录要20分钟。
♂羽毛<> 15:36:51
嘿嘿
欢迎光临 苏飞论坛 (http://www.sufeinet.com/)
Powered by Discuz! X3.4