首页新闻找找看学习计划

关于循环插入数据的问题

0
悬赏园豆:50 [已解决问题] 解决于 2014-08-25 00:02

如题:

比如我有一串 "0,1,2,3,4,5,6,7,8,9"

是执行10次 ExecuteNonQuery  还是 把字符串传到存储过程里 切割执行好呢。

2者效率上差别大吗。

SoloSANG的主页 SoloSANG | 初学一级 | 园豆:4
提问于:2014-07-23 20:30
< >
分享
最佳答案
0

可以在程序里切割好了生成SQL,一次性提交,比如insert into tableA(name,age) select '张三',10 union select '李四',20 union select '王五',12;或者update tableA set name='张三' where id=10;update tableA set name='李' where id=12;update tableA set name='王五' where id=16这样写成一句提交.

收获园豆:25
happydaily | 小虾三级 |园豆:581 | 2014-07-24 08:20
其他回答(8)
0

不能把sql整成一句?

收获园豆:5
achu.me | 园豆:877 (小虾三级) | 2014-07-23 21:30
0

存储过程更快,但是你這点数据,体现不出差距的。

收获园豆:5
幻天芒 | 园豆:36522 (高人七级) | 2014-07-23 23:46
0

减少对数据库的交互,用存储过程吧,这个楼上的说的很正确了,用存储过程更快,但是要是看差距你的数据量太少了是看不出来的

收获园豆:5
情义之印 | 园豆:15 (初学一级) | 2014-07-24 08:21
0

上面的都说了

收获园豆:5
s_p | 园豆:269 (菜鸟二级) | 2014-07-24 08:38
0

总的来说就是批量插入问题.你百度下批量插入,一般有几种解决方案

最常见的是事务提交 sqlserver常用的是表值参数

收获园豆:5
吴瑞祥 | 园豆:28729 (高人七级) | 2014-07-24 09:15
0

存储过程快啊!

Moral | 园豆:206 (菜鸟二级) | 2014-07-24 11:10
0

一次执行肯定快些,减少访问数据库的次数。如果有成千上万条数据,性能差别会很大。

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-07-24 17:35
0

字符串在存储过程里分隔后执行还是写程序切割字符串然后一次性发请求执行SQL,这两种哪个更容易维护呢?可维护性和性能之间应该有个平衡。

JeffWong | 园豆:2021 (老鸟四级) | 2014-07-24 21:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册