admin

SQL Server 2008 INSERT优化

sql

我必须向SQL Server数据库插入很多行(超过1.000.000.000)。该表具有一个AI
ID,两个varchar(80)cols和一个较小的datetime(默认值为GETDATE)。最后一个仅用于听觉,但必要。

我想知道最好(最快)的方法来插入行。我一直在阅读有关BULK
INSERT的信息。但是,如果可能的话,我想避免这种情况,因为该应用程序不能在托管数据库的同一服务器上运行,并且我希望将它们保持与可能的隔离。

谢谢!


阅读 226

收藏
2021-07-01

共1个答案

admin

另一个选择是bcp

另外,如果您使用的是.NET,则可以使用SqlBulkCopy类批量插入数据。这是我关于性能的博客,在比较SqlBulkCopy与将数据从.NET(使用SqlDataAdapter)从SQL
Server批量加载到SQL
Server的另一种方式中,您可能会对它感兴趣。使用SqlBulkCopy加载100,000行的基本示例花费了0.8229s,而使用SqlDataAdapter方法花费了25.0729s。

2021-07-01