zoukankan      html  css  js  c++  java
  • c#向数据库插入较大数据(SqlBulkCopy)

    因为要向数据库添加一些数据,数据量较大

    1.使用sql语句批量提交速度较慢

    2.用事物批量提交,速度一般

    3.用SqlBulkCopy方法写入数据,速度较快

          /// <summary>
            /// 使用SqlBulkCopy方法向数据库中写入数据,一般用于大量数据写入,效率较高
            /// 注:使用此方法必须保证传如的DataTable每列列名和数据库一一对应
            /// </summary>
            /// <param name="datadt">要导入的数据源</param>
            /// <param name="dbTableName">要导入到数据库的数据表名</param>
            public void ExecuteSqlBulkCopy(DataTable datadt, string dbTableName)
            {
                using (SqlConnection conn = new SqlConnection(boName))
                {
                    using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(boName, SqlBulkCopyOptions.UseInternalTransaction))
                    {
                        try
                        {
                            sqlbulkcopy.DestinationTableName = dbTableName;
                            for (int i = 0; i < datadt.Columns.Count; i++)
                            {
                                sqlbulkcopy.ColumnMappings.Add(datadt.Columns[i].ColumnName, datadt.Columns[i].ColumnName);
                            }
                            sqlbulkcopy.WriteToServer(datadt);
                        }
                        catch (System.Exception ex)
                        {
                            throw ex;
                        }
                    }
                }
            }

    1w条数据,1秒左右

  • 相关阅读:
    header
    panel----单个基础版
    vue-demo
    js不同类型变量比较
    reset.css
    关于各个浏览器的兼容问题
    git
    AMD与CMD区别
    喜欢前端的看过来哦
    js中数组去重的几种方法
  • 原文地址:https://www.cnblogs.com/feigao/p/5219884.html
Copyright © 2011-2022 走看看