我有一个文件(insert.sql),它有250k行,没有键,没有索引:
INSERT `project_383`.`entity_metrics_build_1` VALUES ('d402afeb4630267f383b99875f37162d', 'ClMaxCycl', '-1');
INSERT `project_383`.`entity_metrics_build_1` VALUES ('d402afeb4630267f383b99875f37162d', 'ClLMethodsCalled', '0');
我使用mysql -u root -p project < insert.sql
将其输入myISAM表,总时间为5分钟。
我在另一个帖子中看到,人们说他们可以在1秒内插入数百万行。我真的不明白。有人可以解释一下为什么我的SQL太慢了吗?
我的服务器是16gb Cpu xeon。
答案 0 :(得分:1)
将它们组合成一个包含多个VALUES子句的INSERT:
INSERT `project_383`.`entity_metrics_build_1`
VALUES ('d402afeb4630267f383b99875f37162d', 'ClMaxCycl', '-1'),
('d402afeb4630267f383b99875f37162d', 'ClLMethodsCalled', '0'),
...;
如果查看由mysqldump
创建的文件,就是这样做的。