现在发现,如果一个数据表格内,如果有100行需要删除,如果我用SqlDataAdapter来Update,那么效率比较低下,可能会需要执行100次往返。那么,我们现在需要做的是,把所有需要更新的操作放在一个sql语句里面,用:来分隔。
Sqlserver的SqlClient支持 sql语句1;sql语句2;....
Oracel的OracleClient支持Begin sql语句1;sql语句2;... End的形势来提交多个sql语句,再一次数据库往返中。这样再sql操作密集型的操作中可以得到一些优化。
当然了,参数的编写,我们可以用这样的@+列名+行的编号。这样我们就能保证参数是正确的。
只是执行了之后的DataSet不能被再次利用,呵呵,不想再次处理。其实也可以,只是我个人的倾向不使用。只需要AcceptChange就可以了。
底层框架优化-把原来的每行update/delete/insert修改成BatchUpdate
最新推荐文章于 2024-07-30 22:02:49 发布
博客指出,用SqlDataAdapter更新含100行待删数据的表格效率低,需执行100次往返。可将更新操作放在一个SQL语句里,Sqlserver的SqlClient用分号分隔,Oracel的OracleClient用Begin...End形式,一次数据库往返完成,能优化SQL密集型操作,还提及参数编写及DataSet处理。

14

被折叠的 条评论
为什么被折叠?



