gpt4 book ai didi

php - 遍历一个大数组

转载 作者:行者123 更新时间:2023-12-02 07:33:23 24 4
gpt4 key购买 nike

我正在创建将创建一个非常非常大的数组并搜索它们的应用程序。我只想知道是否有一个好的 PHP 数组搜索算法来完成该任务?

示例:我有一个包含超过 2M 键和值的数组,最好的搜索方式是什么?

编辑我创建了一个基于数组的平面文件 dbms,所以我想找到搜索它的最佳方法

最佳答案

一些事情:

  1. 尝试一下,对几种方法进行基准测试,看看哪种方法更快
  2. 考虑使用对象
  3. 至少要考虑数据库......它可能是像 Redis.io 这样的 NoSQL 键->值存储(非常快)
  4. 搜索算法,当然there are plenty of them around

但是在内存中存储一​​个 2M 键的关联数组将意味着您将遇到大量的哈希冲突,这无论如何都会减慢您的速度。对数组进行排序、分块并应用合适的搜索算法,您可能让它以相当快的速度运行,但老实说,我会说您将做出一个错误的决定。

另请考虑:PHP 在设计上是无状态的,每次您的脚本运行时,数据都必须再次加载到内存中(对于您正在编写的 Web 应用程序的每个请求)。 that 很可能会成为比 HashTable 上的暴力搜索更大的瓶颈。
找出这一点的最快方法是运行测试,一次关闭 APC(或替代方案),然后再次运行,但首先缓存要搜索的数组。测量两者之间的差异,您就会了解阵列的实际构建成本是多少

关于php - 遍历一个大数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com