关于百万级数据转存令人崩溃的操作

这两天接到一个任务,大概目标是要将现有的客户提供的数据(Access数据库)全部转存到我们本地的mysql中,然后后期写一个定期检查原表是否更新,如果更新,则更新本地数据库。

我一开始写了一个小的代码,是利用数组的方式,先把Aceess某一个目标表中的每一列都用list[]数组读出来,又N个列就newN个数组来存,然后用for循环,把数组里每一列的数据写入mysql中对应的表中的列,思路是这样,效率不高,但是能实现,有一个目标表大概只有5000多条数据,我用这个代码,大概10秒钟左右完成所有的读和写入操作。

具体代码:

string connstr = ConfigurationManager.AppSettings["connectionstring"];
            OleDbConnection conn = new OleDbConnection(connstr);
            conn.Open();
            Console.WriteLine("打开数据库成功");
            string sql = "select * from lwmain";
            OleDbCommand cmd = new OleDbCommand(sql, conn);
            OleDbDataReader reader = cmd.ExecuteReader();
            ArrayList listid = new ArrayList();
            ArrayList listnumberId = new ArrayList();
            ArrayList listpers
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值