mysql 如何导入 20g 的超大文件

2020-11-24 09:44:44 +08:00
 userlijinhong
最近对 mysql 如何导入超大文件比较感兴趣。我看网上的教程方法乱七八糟,什么 navicat 导入都说出来了,我目前的思路是先将文本划分为小文本,然后再导入。不知道有没有更好的办法,求教!
8514 次点击
所在节点    MySQL
51 条回复
towser
2020-11-24 14:38:32 +08:00
泄漏的电话?
userlijinhong
2020-11-24 15:04:42 +08:00
@mrhhsg 我说的超大是文件大小,不知道这样说是否合理,或者说你们对超大有什么其他的见解 (我竟然不知道怎么在这上面发表情)
userlijinhong
2020-11-24 15:07:13 +08:00
@des csv
userlijinhong
2020-11-24 15:13:15 +08:00
navicat 是可以导入,但是考虑到网络 IO 的问题,可能会比较慢;然后数据文件还是在服务器上的,本地文件的读取就不用考虑数据路由,网络带宽等因素了
aice755169
2020-11-24 15:16:55 +08:00
什么格式没说,不同格式 效率差很多的
userlijinhong
2020-11-24 15:19:18 +08:00
@funbox 对于这种手动提交事务的话,我觉得还是把文件划分为小文件了再导入,万一数据出错,又要重新来
userlijinhong
2020-11-24 15:19:59 +08:00
@lTsuKi 我等哈去试一哈
userlijinhong
2020-11-24 15:21:53 +08:00
@aice755169 是我大意了,格式的话是 cvs
ruzztok
2020-11-24 15:35:15 +08:00
我还以为你要导入一部电影到数据库中
userlijinhong
2020-11-24 15:42:40 +08:00
@KouShuiYu 我开始看半天嗯是没看懂这个红薯...不过我没那么多的红薯资料
Hodor
2020-11-24 15:44:47 +08:00
文件发我,我帮你测试一下啊,哈哈哈
userlijinhong
2020-11-24 15:48:25 +08:00
@Hodor 这就不劳烦兄弟,我觉得我能行,哈哈嗝
Donss
2020-11-24 16:47:29 +08:00
datax?
lixintcwdsg
2020-11-24 16:48:02 +08:00
不管如何,一定要用 load data,其余效率和 load data 都差好远
然后文件要分割一下
lyy16384
2020-11-24 17:11:13 +08:00
我觉得直接写程序插入就行,多线程,一次 insert 多行,批量提交事务,直接拼 sql 不要用参数化,程序和数据库放一台机器上,其他访问数据库的服务都先下线
以前用这种方式迁移过两亿条数据,而且是一边读 db 一边处理逻辑一边写 db,只要半小时左右
dorothyREN
2020-11-24 17:35:18 +08:00
20G 真不算大
Shuiss
2020-11-24 18:26:33 +08:00
@wangkun025 红薯是什么?
wangkun025
2020-11-24 18:47:48 +08:00
@Shuiss 随口一说而已。别当真。抱歉带来困扰。
毕竟楼主说大文件,我也不知道是什么啊。后来楼主说是 csv 。
万一是 sql 呢,万一是 Excel 呢,万一是蓝光高清电影呢,万一是照片呢。
开始楼主没说啊。就这。
lostberryzz
2020-11-24 21:53:26 +08:00
44.65G 神秘文件哈哈哈
KIzuN1
2020-11-24 22:04:24 +08:00
@lostberryzz 制种者为啥把 WB 弄了两份捏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728583

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX