在大型阵列上取消设置是否值得?

时间:2014-04-06 11:23:57

标签: php arrays performance ram

我现在正在使用XML导入。大多数XML文件最大为6 MB,因此我只需循环遍历SimpleXML数组并在数据库中编写适当的记录,没有什么困难,也不用担心性能或RAM使用情况。但其中一个XML文件是不同的。这是一个大的145 MB文件与50k +产品。

所以我有几个问题:

1)循环浏览此文件最好的方法是使用较小的文件或从小型3MB文件获取产品索引并从远程服务器请求其他信息50k次?产品请求没有限制,所以我担心这里的性能和RAM使用情况。

我的猜测是请求更好,但我真的希望从更有经验的人那里听到这个。

2)第二个问题是关于RAM的使用和性能。我向其他程序员(我是实习生)询问了这一点,他说我需要在所有这些操作之后取消设置这个大数组。这是真的吗?

有大量关于插入变量和数组的信息,但不是关于对硬件的影响。

1 个答案:

答案 0 :(得分:0)

在我自己研究这个问题之后,我发现在大型XML上使用SimpleXML并不是最好的主意。 XMLReader是我正在寻找的基于流的xml解析器。

在我看来,这是关于这个主题的非常好的资源:http://yashwanthbm.com/parsing-large-xml-documents-in-php/

这个答案实际上并没有直接回答我的问题,它只是解决了一个问题。