Har*_*boy 10 xml sql-server asp.net stored-procedures
由于我们正在开发一个asp .net项目,有三种方法可以在需要多行更新/插入时将数据更新到数据库中
我们假设我们需要更新员工教育细节(可能是1,3,5或10条记录)
更新数据的方法
将值作为参数传递(传统方法),如果有10条记录则需要10次往返
将数据作为xml传递并在存储过程中写入逻辑以从xml获取该数据并更新表(仅需要单个往返)
使用表值参数(仅需要单个往返)
注意:数据以List的形式提供,因此如果需要传递,我需要将其转换为xml或任何其他格式.
没有.在整个应用程序中我们需要批量更新数据(或多个记录)
我只需要你的建议
哪种方法会更快(如果有其他一些开销,请提及)
任何方法都可管理性或可测试性
任何其他方法的瓶颈或问题(序列化/反序列化问题或数据传递大小限制)
您为相同操作建议的任何其他方法
谢谢
表值参数方法很可能是最好的方法,因为您可以一次更新整批行; 毕竟,你得到一张可以轻松加入的桌子.
其他方法都是逐行的,这本身就比较慢,或者需要在SQL Server端进行相当多的混乱; 通常情况下,这不仅非常有趣,而且更容易出错,并且通常不仅仅是简单地连接两个表而且性能更差.
这正是TVP引入的场景 - 解决"逐行"或"乱用XML"问题.我相信微软有一个很好的理由来介绍这个,如果他们这样做,你一定要试一试,看看它是否有效.
但同样:这只是一种"直觉"而不是真正了解你的所有细节.通过测试所有三个选项,只有你自己才能真正找到它.有许多其他影响和参数可能发挥作用,任何人回答都不可能知道....
归档时间: |
|
查看次数: |
3899 次 |
最近记录: |