0

我有一个文件(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');

我使用 将它输入到我的 MyISAM 表中mysql -u root -p project < insert.sql,总时间为 5 分钟。

我在另一个线程中看到,人们说他们可以在 1 秒内插入数百万行。我真的不明白。有人可以解释一下为什么我的 SQL 这么慢吗?

我的服务器是 16gb Cpu xeon。

4

1 回答 1

1

将它们组合成一个带有多个 VALUES 子句的 INSERT:

INSERT `project_383`.`entity_metrics_build_1`
VALUES ('d402afeb4630267f383b99875f37162d', 'ClMaxCycl', '-1'),
       ('d402afeb4630267f383b99875f37162d', 'ClLMethodsCalled', '0'),
       ...;

如果您查看由 创建的文件mysqldump,它就是这样做的。

于 2013-05-24T07:23:07.687 回答