我有一个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;
我可以做些什么来在合理的时间内加载它而不需要将它切成十几块呢?
答案 0 :(得分:1)
尝试在加载之前删除索引,然后重建它们。