我必须向SQL Server数据库插入很多行(超过1.000.000.000)。该表具有一个AI ID,两个varchar(80)cols和一个较小的datetime(默认值为GETDATE)。最后一个仅用于听觉,但必要。
我想知道最好(最快)的方法来插入行。我一直在阅读有关BULK INSERT的信息。但是,如果可能的话,我想避免这种情况,因为该应用程序不能在托管数据库的同一服务器上运行,并且我希望将它们保持与可能的隔离。
谢谢!
另一个选择是bcp。
另外,如果您使用的是.NET,则可以使用SqlBulkCopy类批量插入数据。这是我关于性能的博客,在比较SqlBulkCopy与将数据从.NET(使用SqlDataAdapter)从SQL Server批量加载到SQL Server的另一种方式中,您可能会对它感兴趣。使用SqlBulkCopy加载100,000行的基本示例花费了0.8229s,而使用SqlDataAdapter方法花费了25.0729s。