小编典典

快速向SQL Server中插入200万行

sql

我必须从文本文件中插入大约200万行。

插入时,我必须创建一些主表。

将如此大量的数据插入SQL Server的最佳,最快的方法是什么?


阅读 395

收藏
2021-05-17

共1个答案

小编典典

  1. 我认为最好在DataSet中读取文本文件的数据

  2. 尝试 SqlBulkCopy的-从C#应用程序批量插入到SQL

// connect to SQL
using (SqlConnection connection = new SqlConnection(connString))
{
    // make sure to enable triggers
    // more on triggers in next post
    SqlBulkCopy bulkCopy = new SqlBulkCopy(
        connection, 
        SqlBulkCopyOptions.TableLock | 
        SqlBulkCopyOptions.FireTriggers | 
        SqlBulkCopyOptions.UseInternalTransaction,
        null
        );

    // set the destination table name
    bulkCopy.DestinationTableName = this.tableName;
    connection.Open();

    // write the data in the "dataTable"
    bulkCopy.WriteToServer(dataTable);
    connection.Close();
}
// reset
this.dataTable.Clear();

或者

在顶部执行步骤1之后

从数据集创建XML
2. 将XML传递到数据库并批量插入
3. 您可以查看本文的详细信息:使用C#DataTable和SQL Server OpenXML函数批量插入数据

但是它没有经过200万条记录的测试,它可以运行,但是会消耗机器上的内存,因为您必须加载200万条记录并将其插入。

2021-05-17