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秒左右

  • 相关阅读:
    快速幂算法
    TIME-April
    数据结构之splay树
    数据结构学习路线
    智能优化技术(四) 蚁群优化算法
    智能优化学习目录
    模式识别(四)人工神经网络
    模式识别(一) 决策树分类
    模式识别学习
    poj 2676 Sudoku
  • 原文地址:https://www.cnblogs.com/feigao/p/5219884.html
Copyright © 2011-2022 走看看