1

我正在下载一个 900mb 的 XML 文件,客户希望我将其上传到 MySQL 数据库中的单个表中。我不得不在一两周前插入一个 6mb 的文件,我将文件转换为可以在 phpmyadmin 中运行的 SQL 查询,但这需要相当长的时间。

这次我该怎么办?谢谢

4

2 回答 2

1

我会看看文件是否可以转换为 CSV 格式。由于不处理 XML,因此导入 MySQL 表会快得多。您只需要小心为每列输入的数据类型。

如果客户端无法以 CSV 格式提供给您,并且这是一次性上传,请尝试使用 MS Excel/Libre Calc/OpenOffice Calc 自行转换。

于 2012-05-28T08:25:00.613 回答
0

如果每周发生一次,并且 XML 和数据库结构保持不变,请使用 sax 解析器(而不是使用 Dom)生成 SQL 文件并通过 mysql 命令行导入。

mysql -u 用户 -p 数据库名称 < import.SQL

您可以在上传到服务器之前压缩 SQL 文件以更快地获取它

您可以根据需要考虑锁定表以进一步提高性能(如果系统可以处理) http://dev.mysql.com/doc/refman/5.1/en/lock-tables.html

于 2012-05-28T13:22:00.173 回答