zoukankan      html  css  js  c++  java
  • SQLServer中批量插入数据方式

    技术方案:
    ADO.NET2.0的一个新的特性:SqlBulkCopy。有关这个的性能,很早之前我是亲自做过性能测试的,效率非常高。

    代码
         /// <summary>
            
    /// 使用SqlBulkCopy方式插入数据
            
    /// </summary>
            
    /// <param name="dataTable"></param>
            
    /// <returns></returns>
            private static long SqlBulkCopyInsert()
            {
                Stopwatch stopwatch 
    = new Stopwatch();
                stopwatch.Start();

                DataTable dataTable 
    = GetTableSchema();
                
    string passportKey;
                
    for (int i = 0; i < count; i++)
                {
                    passportKey 
    = Guid.NewGuid().ToString();
                    DataRow dataRow 
    = dataTable.NewRow();
                    dataRow[
    0= passportKey;
                    dataTable.Rows.Add(dataRow);
                }

                SqlBulkCopy sqlBulkCopy 
    = new SqlBulkCopy(connectionString);
                sqlBulkCopy.DestinationTableName 
    = "Passport";
                sqlBulkCopy.BatchSize 
    = dataTable.Rows.Count;
                SqlConnection sqlConnection 
    = new SqlConnection(connectionString);
                sqlConnection.Open();
                
    if (dataTable!=null && dataTable.Rows.Count!=0)
                {
                    sqlBulkCopy.WriteToServer(dataTable);
                }
                sqlBulkCopy.Close();
                sqlConnection.Close();

                stopwatch.Stop();
                
    return stopwatch.ElapsedMilliseconds;
            }
     
         private static DataTable GetTableSchema()
            {
                DataTable dataTable 
    = new DataTable();
                dataTable.Columns.AddRange(
    new DataColumn[] { new DataColumn("PassportKey") });
                
                
    return dataTable;
            }
  • 相关阅读:
    【20171123】【GITC精华演讲】贝业新兄弟李济宏:如何做到企业信息化建设的加减乘除
    920记者招待会: 对话详解海尔张瑞敏首席的人单合一
    存货控制中的ABC分类释义
    对员工宽容的公司 都死掉了
    小型互联网公司的IT系统建设思路
    第三方物流是什么
    伟哥对RTO & RPO的通俗理解
    【20170506】贝业新兄弟IT总监李济宏:第三方家居物流的IT架构探索
    【Vegas原创】VirtualBox扩容、分割的整体方案
    数据通信基础(物理层)学习笔记
  • 原文地址:https://www.cnblogs.com/bobofsj11/p/1676320.html
Copyright © 2011-2022 走看看