我必须从文本文件中插入大约200万行。
插入时,我必须创建一些主表。
将如此大量的数据插入SQL Server的最佳,最快的方法是什么?
我认为最好在DataSet中读取文本文件的数据
尝试 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万条记录并将其插入。