PHP:如何最快地获取大文件中的随机行?

时间:2014-12-11 14:46:19

标签: php performance line

我有1个文件txt,有10万行。你能知道如何随机获得最快1行吗?非常感谢你!

1 个答案:

答案 0 :(得分:1)

最快的方法是构建索引(包含每个新行文件中位置的简单数组)。然后选择随机键,获取位置,将文件fseek到该位置,然后读取该行。这将需要在您更改文件时更新索引文件,但如果您想优化检索数据,那就是这样。

您可以通过在范围中拆分文件(例如,分片数据)或者对文件进行多次表示来进一步优化(例如,您可以将文件的行反转,以便最后一个,如果您的随机数大于一半的元素,你从第二个文件中读取)