如题:
比如我有一串 "0,1,2,3,4,5,6,7,8,9"
是执行10次 ExecuteNonQuery 还是 把字符串传到存储过程里 切割执行好呢。
2者效率上差别大吗。
可以在程序里切割好了生成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这样写成一句提交.
不能把sql整成一句?
存储过程更快,但是你這点数据,体现不出差距的。
减少对数据库的交互,用存储过程吧,这个楼上的说的很正确了,用存储过程更快,但是要是看差距你的数据量太少了是看不出来的
上面的都说了
总的来说就是批量插入问题.你百度下批量插入,一般有几种解决方案
最常见的是事务提交 sqlserver常用的是表值参数
存储过程快啊!
一次执行肯定快些,减少访问数据库的次数。如果有成千上万条数据,性能差别会很大。
字符串在存储过程里分隔后执行还是写程序切割字符串然后一次性发请求执行SQL,这两种哪个更容易维护呢?可维护性和性能之间应该有个平衡。