PHP Lazy Load Iterator

时间:2010-01-04 06:39:14

标签: php iterator lazy-loading

我有一个迭代器类,它在需要时(当它没有加载到内存中时)循环遍历数据库中的对象数组和延迟加载。问题是这是迭代大约200,000次,我从这里发现:http://www.garfieldtech.com/blog/magic-benchmarks迭代器接口非常慢。

有没有人知道在不使用迭代器接口的情况下延迟加载的好方法?

2 个答案:

答案 0 :(得分:6)

您可以使用普通的旧for循环。

迭代器接口可能很慢,但是当进行200.000个数据库查询时,很可能你的瓶颈不是迭代器。我建议您分析您的代码,看看它是否真的需要在这个位置进行优化。

过早优化是万恶之源:)

答案 1 :(得分:0)

最佳解决方案是使用for循环和Singleton类以及索引和迭代方法。