|
大家好,
有个小问题,有关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,
一次要插入百万行数据,
各位有没好办法?
谢谢。。。
|
|