将行批量插入sql server的最快方法

big*_*int 9 sql-server sql-server-2008

通过Web服务,远程计算机将发送一组行以插入到我们的中央sql服务器中.

插入这些行的最佳方法(性能方面)是什么?每次都可以插入50-500行.

我知道我可以批量插入或将数据格式化为XML,以这种方式插入,但我以前从未在企业设置中完成此操作.

更新 使用WCF Web服务(或者WSE尚无法确定)和SQL Server 2008标准.

Chr*_*ers 6

除非你在一台已有10年历史的计算机上运行,​​否则50-500行并不是很多; 您可以直接发送SQL语句并将它们直接传送到数据库中并获得出色的性能.假设您信任发送数据的服务,当然:-)

如果性能确实是一个问题,通过bcp文件发送绝对是在数据库中阻塞数据的最快方法.从你的问题来看,你已经知道如何做到这一点.


Ant*_*nes 5

仅50-500条记录不构成"批量插入".批量插入机制专为大量数据导入而设计,可立即进行备份.

在Web服务中,我只需将XML传递给SQL服务器.细节将取决于版本.


Joh*_*ohn 3

这是什么样的网络服务?

如果是 .Net,通常最好的方法是将输入加载到 DataTable 中,然后使用SqlBulkCopy类将其发送到 SQL 服务器