- 积分
- 29
- UID
- 21862
- 阅读权限
- 10
- 注册时间
- 2016-5-16
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 1
|
大家好,
有个小问题,有关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,导出来?
|
|