我正在使用两种方法向数据库中插入记录(100、1,000、10,000 和 100,000),该表没有主键和索引:
PS:如果使用ibatis ORM,则可能会有所区别。
- 使用循环逐个插入
- 使用存储过程
PS:如果使用ibatis ORM,则可能会有所区别。
请查看SqlBulkCopy。
它专为快速插入大量数据而设计。我发现在使用TableLock选项并设置批处理大小约为10,000时,它的速度最快,但最好使用您自己的数据测试不同的情况。
您也可能会发现以下内容有用。
我知道这有点偏题,但是你没有使用SQL Server 2008真是太可惜了,因为随着MERGE语句和用户定义表类型的出现,在这个领域已经有了巨大的改进(它们允许您传递一个数据“表”到存储过程或语句中,以便您可以一次性插入/更新多条记录)。
如果需要更多信息,请查看http://www.sql-server-helper.com/sql-server-2008/merge-statement-with-table-valued-parameters.aspx