我在处理大型 xml 文件的时间方面遇到了这个问题。大,我的意思是平均600MB。目前,解析数据并将其插入数据库大约需要 50 - 60 分钟。我想请教如何改进处理时间的建议?就像下降到20分钟一样。
因为在当前时间,我需要 2.5 个月的时间来使用 xml 中的内容填充数据库。顺便说一句,我有 3000 多个 xml 文件,平均为 600mb。我的 php 脚本在命令行中通过 cron 作业。
我还阅读了下面的其他问题,但我还没有找到任何想法。 PHP 中最快的 XML 解析器是什么?
我看到有些已经解析了高达 2GB 的文件。我想知道处理时间是多少。
我希望你们能提供帮助。将不胜感激。谢谢。
我有这个代码:
$handler = $this;
$parser = xml_parser_create('UTF-8');
xml_set_object($parser, $handler);
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "cdata");
$fp = fopen($xmlfile, 'r');
while (!feof($fp)) {
while (($data = fread($fp, 71680))){
}
}
我首先将解析数据放在一个临时数组中。我的 mysql 插入命令在 endElement 函数内。有一个特定的结束标记来触发我对数据库的插入命令。
感谢您的回复....