请教如何处理百万条数据写入到数据库-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

请教如何处理百万条数据写入到数据库

2016-06-15 15:16:41 3462 1

在一个文本文件里存了一百万条数据,一行一条,

我需要把符合条件的每一行数据写入到数据库里,

按照以前的做法就是读取文件里的数据,然后存入数组,然后foreach数组进行一条一条的处理(符合条件的写入到数据库),

但是面对上百万条数据,如果我再继续这样做看来是自寻死路,可是处理大数据真是大姑娘我坐花轿可是头一回,一点经验也没有,

从网上找资料说用php进程/线程来解决,我对进程与线程是一头污水,请大牛们进来分享一下这方面的经验,是怎么处理大数据的,如果通过进程/线程又是怎么实现的呢?

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:39:23

    如果是一次性把这100万数据导入mysql就完事了,用mysql的load data就可以搞的,我用load data 导入以前csdn泄漏的帐号密码650万左右的数据也就2分钟多点。。。
    如果是多次复用程序,想做成脚本,可以每次读取10万个,foreach外面显式开启事务(ps:循环插入必须显式开启事务,性能比较好,一次性写入后,再统一commit,10万条速度提升最起码百倍甚至千倍,磁盘io也低),变量用完记得unset,插入100万数据那是小case。
    也可以用insert into values(1,2),(2,3)...拼接的方式,性能最快。不过注意sql语句长度有限制,可以一次性插入1000条。 不显式开启事务,foreach里insert是最垃圾的做法,最慢,io压力也最大,因为每次insert,都有一次昂贵的系统调用fsync(). 循环100万次相当于调用100万次fsync. 显示开启事务,每10万次一次commit调用一次fsync,100万次只调用10次fsync。

    0 0
相关问答

1

回答

怎样进行数据预处理?

2022-07-27 12:01:37 65浏览量 回答数 1

1

回答

请问下,这个该如何处理?

2022-07-13 17:24:03 79浏览量 回答数 1

1

回答

物理层是如何处理数据的?

2022-03-30 23:54:24 145浏览量 回答数 1

1

回答

流处理任务失败该如何追回之前的数据

2021-12-03 09:54:48 379浏览量 回答数 1

1

回答

请教flink cep如何对无序数据处理?

2021-12-01 17:29:57 435浏览量 回答数 1

1

回答

[@小川游鱼][¥20]项目上线三个月,每天过亿的数据量....如何处理是好?

2018-12-14 16:14:09 1592浏览量 回答数 1

1

回答

数据处理慢慢慢

2018-07-20 16:53:01 1321浏览量 回答数 1

1

回答

请教:连接数据库失败,数据库端口错误

2017-08-15 11:11:01 2415浏览量 回答数 1

1

回答

数据库连接问题,请问如何处理,谢谢!

2016-09-21 20:03:44 1556浏览量 回答数 1

3

回答

【请教】最最基本的数据处理

2016-05-25 13:56:46 4166浏览量 回答数 3
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载