我现在正在使用XML导入。大多数XML文件最大为6 MB,因此我只需循环遍历SimpleXML数组并在数据库中编写适当的记录,没有什么困难,也不用担心性能或RAM使用情况。但其中一个XML文件是不同的。这是一个大的145 MB文件与50k +产品。
所以我有几个问题:
1)循环浏览此文件最好的方法是使用较小的文件或从小型3MB文件获取产品索引并从远程服务器请求其他信息50k次?产品请求没有限制,所以我担心这里的性能和RAM使用情况。
我的猜测是请求更好,但我真的希望从更有经验的人那里听到这个。
2)第二个问题是关于RAM的使用和性能。我向其他程序员(我是实习生)询问了这一点,他说我需要在所有这些操作之后取消设置这个大数组。这是真的吗?
有大量关于插入变量和数组的信息,但不是关于对硬件的影响。
答案 0 :(得分:0)
在我自己研究这个问题之后,我发现在大型XML上使用SimpleXML并不是最好的主意。 XMLReader是我正在寻找的基于流的xml解析器。
在我看来,这是关于这个主题的非常好的资源:http://yashwanthbm.com/parsing-large-xml-documents-in-php/
这个答案实际上并没有直接回答我的问题,它只是解决了一个问题。