【发布时间】:2011-12-04 04:45:07
【问题描述】:
我有一个大文件,100,000 行。我可以读取每一行并处理它,或者我可以将这些行存储在一个数组中然后处理它们。我更愿意将数组用于额外的功能,但我真的很担心与在数组中存储这么多行相关的内存使用情况,以及是否值得。
【问题讨论】:
-
您是否只需要执行一次,还是会有许多并发的 Web 用户触发此操作?如果很多,为什么不将文件的内容存储到数据库中?
-
您可以使用
SplFileObject获得对文本行的类似数组的访问(一个迭代器)。 -
您可能还没有找到更好的方法来解决您的问题。您很少需要在内存中同时打开所有 100 000 行。想想其他方法来做到这一点,你现有的计划会出现性能问题。
-
@Michael 如果我把它放到一个数据库里,我还是得把它们都从数据库中拉出来一个一个地处理,我不想单独调用来获取它们 1 1,所以我们回到同一个问题。我会将它们中的许多放在某种对象中。