MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 2128|回复: 1
打印 上一主题 下一主题

[SQL类] MySQL有关insert大量数据的问题(百万行)

[复制链接]
     
跳转到指定楼层
1#
发表于 2016-5-16 14:49:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,
有个小问题,有关MySQL数据库大量insert的问题:

比如我有个TXT文件,格式类似:
test0007, 55.2
test0903, 34.5
test0321, 63.0
...
test9504, 30.6

有百万行吧。
每行,第一列是字串,第二列是一个浮点数据。

现在我有2个表,

CREATE TABLE IF NOT EXISTS mis_table_test_info
                               ( test_id INT UNSIGNED AUTO_INCREMENT,
                                 test_name VARCHAR(128),
                                 PRIMARY KEY (test_id),
                                 UNIQUE (test_name));

CREATE TABLE IF NOT EXISTS mis_table_data_list
                               ( list_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
                                 test_id INT UNSIGNED,
                                 test_data FLOAT);

需要把第一列的字串从表“mis_table_test_info”里得到ID,
再和第二列数据一起,存到表“mis_table_data_list”里。

现在用的方法是:
insert into mis_table_data_list (test_id, test_data)
values ( select test_id from mis_table_test_info where test_name="test0007",
55.2),
values ( select test_id from mis_table_test_info where test_name="test0903",
34.5),
values ( select test_id from mis_table_test_info where test_name="test0321",
63.0),
...

一次插入1000行,速度比较慢,
估计慢在MySQL解析SQL命令上。

好像也没法直接用load data infile,
一次要插入百万行数据,
各位有没好办法?

谢谢。。。

有没有办法,批量把字串映射成ID,导出来?



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
发表于 2016-5-26 22:05:07 | 只看该作者

回帖奖励 +1

把文本导入成一个表,然后2张表关联,导入到第三张表中...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-4-26 07:34 , Processed in 0.067129 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表