作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建将创建一个非常非常大的数组并搜索它们的应用程序。我只想知道是否有一个好的 PHP 数组搜索算法来完成该任务?
示例:我有一个包含超过 2M 键和值的数组,最好的搜索方式是什么?
编辑我创建了一个基于数组的平面文件 dbms,所以我想找到搜索它的最佳方法
最佳答案
一些事情:
但是在内存中存储一个 2M 键的关联数组将意味着您将遇到大量的哈希冲突,这无论如何都会减慢您的速度。对数组进行排序、分块并应用合适的搜索算法,您可能让它以相当快的速度运行,但老实说,我会说您将做出一个错误的决定。
另请考虑:PHP 在设计上是无状态的,每次您的脚本运行时,数据都必须再次加载到内存中(对于您正在编写的 Web 应用程序的每个请求)。 that 很可能会成为比 HashTable 上的暴力搜索更大的瓶颈。
找出这一点的最快方法是运行测试,一次关闭 APC(或替代方案),然后再次运行,但首先缓存要搜索的数组。测量两者之间的差异,您就会了解阵列的实际构建成本是多少
关于php - 遍历一个大数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623827/
我是一名优秀的程序员,十分优秀!