初始化一个巨大的数组(50000个条目)

时间:2013-02-25 09:39:05

标签: php arrays initialization

我正在初始化一大堆49605 key=>value对)(数组永远不会再被更改)     $ boardkey_to_values =阵列(97031 => 0,97531 => 1,409531 => 2,410031 => 3,410131 => 4,472031 => 5,472531 => 6,472631 =&GT ; 7,472651 => 7,484531 => 8,485031 => 9,485151 => 10,485131 =大于10,...)

这对编译器来说需要花费很多时间(平均40ms)

我想知道它们是否可以成为更快的解决方案。

我在我的程序中使用了很大一部分键(15-35k)。我之前使用的是where_in,但是它甚至更慢(平均6s),我得到了硬编码的建议,事实上,它要快得多,但我想更优化它。查看原始帖子String to Value compare Optimizing MySQL Query

1 个答案:

答案 0 :(得分:4)

对于这么大的阵列来说,40毫秒并不是非常慢。但是如果这是在网络上并且多个人正在调用PHP页面,那么可能会降低服务器的速度。您有几种选择:

  • 使用多个Ajax调用,在页面渲染后填充数组,即10000个集合 每隔几秒钟(这样你就可以在页面上做其他事情了 数组填充自己的时间)

  • 使用数据库,因为搜索/更新会更快,而不是 将其存储在数组中。

  • 将程序逻辑更改为一次只能处理几个值, 而不是49K。 (有点像分页,每页只显示一部分数据)