• 使用SqlBulkCopy 批量操作大量数据


    private void button1_Click(object sender, EventArgs e)
    {
    //1.0 构建一个内存表一定要和Users表的结构保持一致,除了自增的主键外
    DataTable tb = new DataTable();
    //2.0 如何向tb中加入一个名词为UName的字符串类型的字段
    tb.Columns.Add("UName1", typeof(string));

    //3.0 向tb中插入1W条数据
    DataRow dr;
    System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch();
    st.Start();
    for (int i = 1; i <= 100 * 100; i++)
    {
    //根据内存表的结构创建一个行对象
    dr = tb.NewRow();
    dr["UName1"] = "测试" + i;
    //将行对象加入到内存表中
    tb.Rows.Add(dr);
    }

    st.Stop();
    MessageBox.Show("1W条数据构成耗时:" + st.ElapsedMilliseconds + "毫秒");

    string connString = "server=.;database=userinfo18;uid=sa;pwd=master;";

    st.Start(); //开始计时
    using (System.Data.SqlClient.SqlBulkCopy copy = new System.Data.SqlClient.SqlBulkCopy(connString))
    {
    //3.0 告诉copy当前tb中的数据是插入到Users表中
    copy.DestinationTableName = "Users";

    //4.0 告诉copy对象,将tb中的UName列的值插入到Users表的Uname中
    copy.ColumnMappings.Add("UName1", "UName");

    //5.0 批量插入
    copy.WriteToServer(tb);
    }
    //结束计时
    st.Stop();

    //时间间隔打印
    MessageBox.Show("1W条数据成功插入,耗时:" + st.ElapsedMilliseconds + "毫秒");
    }

  • 相关阅读:
    c语言排序算法
    冒泡 选择排序
    冒泡排序算法
    Pandas数据预处理
    Mongodb的安装和配置
    Mysql练习题
    5 根据过去的行为能否预测当下
    Sklearn逻辑回归
    4 如何通过各种广告组合获取更多的用户
    Sklearn多元线性回归
  • 原文地址:https://www.cnblogs.com/chongyao/p/6479515.html
Copyright © 2020-2023  润新知