我有一个简单的表格测试,有三列
id -> primary key (auto increment)
name -> varchar
age -> int
我使用一个简单的存储过程来填充表中的1百万个数据。
drop PROCEDURE if EXISTS big_data;
CREATE PROCEDURE big_data()
BEGIN
DECLARE i int DEFAULT 1;
WHILE i <= 10000000 DO
INSERT INTO test(id, name, age) VALUES (i, 'name', 34);
SET i = i + 1;
END WHILE;
END;
CALL big_data();
我面临的问题是使用这个简单的架构插入100万条记录需要大约6到7个小时。我想知道如何快速插入数据?
我不想使用LOAD DATA INFILE
查询,我没有更改my.ini文件中的任何设置。
只想知道插入过慢的原因?
系统规范
Mysql version 5.5.25a
innodb_version =1.1.8
System = 16GB RAM / 8 cores @ 2.70 GHz
答案 0 :(得分:0)
一次插入100行的速度是100行1 INSERTs
的10倍:
INSERT INTO foo(a,b,c) VALUES (1,2,3), (4,5,6),......;
LOAD DATA
可能更快。
答案 1 :(得分:-1)
尝试将查询作为单个字符串,然后立即执行
they used the class names like row in their project, which are conflicting with the names in the bootstrap