2

我有一个 2Gb XML 文件,我想将它加载到 MySQL 中的单个表中。

记录/行数约为 140,000,但 MYSQL 中 LOAD XML 函数的默认行为似乎偏离了线性时间。

将数据切割成更小的部分,我得到以下性能(在每个 LOAD 之间删除表)

全部是:已删除:0 跳过:0 警告:0

5000 行受影响的记录:5000 4.852 秒

10000 行受影响的记录:10000 20.670 秒

15000 行受影响的记录:15000 80.294 秒

20000 行受影响的记录:20000 202.474 秒

XML 格式良好。我试过了: SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0;

我能做些什么来在不涉及将其切成十几块的合理时间内加载它?

4

1 回答 1

1

尝试在加载之前删除索引,然后再重建它们。

于 2013-01-17T17:41:15.593 回答