隐藏

如何使用C#将1万条数据秒级别插入SQL server数据库,并且如何记录当前添加操作的所用时长?

发布:2023/3/19 23:42:03作者:管理员 来源:本站 浏览次数:610

C#中,可以使用.NET内置的SqlBulkCopy方法,这个方法支持将数据批量地写入SQL Server数据库,而且速度非常快,可以达到10W条/秒的写入速度。


示例如下:


public void BulkCopy()

{

   var table = new DataTable();

   table.Columns.Add("Value", typeof(string));


   for (var i = 0; i < count; i++)

   {

       table.Rows.Add(Guid.NewGuid().ToString());

   }


   using (var bulk = new SqlBulkCopy(this.connection))

   {

       bulk.DestinationTableName = "test";

       bulk.WriteToServer(table);

   }

}


对于需要记录操作时长,可以使用命名空间System.Diagnostics下的Stopwatch的实例,比如:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Diagnostics;

using System.Threading;


public class Program

{

 public static void Main()

 {

   var sw = new Stopwatch();

   sw.Start();

   // 模拟业务逻辑操作

   Thread.Sleep(1500);

   sw.Stop();

   Console.WriteLine($"耗时{sw.ElapsedMilliseconds}毫秒");

 }

}


输出结果:耗时1500毫秒


示例程序请参考《[C#/.NET 5]C#/.NET 5/.NET Core等应用程序中数据如何将数据快速批量地写入SQL Server数据库?》