zoukankan      html  css  js  c++  java
  • 利用bulk添加百万条数据,进行测试

    (1)连接数据库

      public static void BulkToDB(DataTable dt)
            {
                //数据库连接
                SqlConnection sqlCon = new SqlConnection("data source=.;initial catalog=Blog;user id=sa;password=123456;multipleactiveresultsets=True;application name=EntityFramework");
                SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlCon);
                //数据表的名称
                bulkCopy.DestinationTableName = "actionlogs";
                bulkCopy.BatchSize = dt.Rows.Count;
                try
                {
                    sqlCon.Open();
                    if (dt != null && dt.Rows.Count != 0)
                    {
                        bulkCopy.WriteToServer(dt);
                    }
                }
                catch (Exception ex)
                {
    
                    throw ex;
                }
                finally
                {
                    sqlCon.Close();
                    if (bulkCopy != null)
                    {
                        bulkCopy.Close();
                    }
                }
            }

    (2)获取要添加数据的表的参数

     public static DataTable GetTableSchema()
            {
                DataTable dt = new DataTable();
                //以下为要添加数据的表的参数设置
                dt.Columns.AddRange(new DataColumn[]
                {
                    new DataColumn("Guid",typeof(string)),
                    new DataColumn("LoginName",typeof(string)),
                    new DataColumn("Name",typeof(string)),                
                });
                return dt;
            }

    (3)在Main方法中进行调用,执行

    static void Main(string[] args)
            {
                Stopwatch sw = new Stopwatch();
                for(int multiply = 0; multiply < 10; multiply++)
                {
                    //获取表的参数
                    DataTable dt = Program.GetTableSchema();
                    for(int count = multiply * 100000; count < (multiply + 1) * 100000; count++)
                    {
                        DataRow dr = dt.NewRow();
                        dr[0] = Guid.NewGuid().ToString();
                        dr[1] = "123456";
                        dr[2] = "郑**";                    
                        dt.Rows.Add(dr);
                    }
                    sw.Start();
                    Program.BulkToDB(dt);
                    sw.Stop();
                    Console.WriteLine(string.Format("Elapsed Time is {0} Milliseconds", sw.ElapsedMilliseconds));
                }
                Console.ReadLine();
            }

    平时积累,用于复习,如有问题,请留言,谢谢

  • 相关阅读:
    安卓版php服务器的mysql数据库增删改查简单案例
    PHP之Mysql常用SQL语句示例的深入分析
    PHP文件上传主要代码讲解
    只能输入数字的文本框-php
    Unknown column '' in 'field list'解决方案
    PHP mysqli连接MySQL数据库
    Php连接及读取和写入mysql数据库的常用代码
    mysqli 操作数据库
    类的静态变量访问
    用JS添加文本框案例代码
  • 原文地址:https://www.cnblogs.com/sas1231/p/10477006.html
Copyright © 2011-2022 走看看