1

我正在初始化一个由 49605key=>value对组成的巨大数组)(该数组将永远不会再更改)$boardkey_to_values=Array(97031=>0,97531=>1,409531=>2,410031=>3,410131=>4, 472031=>5,472531=>6,472631=>7,472651=>7,484531=>8,485031=>9,485151=>10,485131=>10,...)

问题是编译器需要花费大量时间(平均 40 毫秒)

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

我在我的程序中使用了很大一部分键(15-35k)。我之前在 where_in 中使用 MySQL,但它甚至更慢(平均 6 秒),我得到了硬编码的建议,确实,它快得多,但我想进一步优化它。请参阅原始帖子字符串到值比较优化 MySQL 查询

4

1 回答 1

4

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

  • 在页面呈现后,使用多个 Ajax 调用来填充您的数组,即每隔几秒设置 10000 个(这样您可以在页面上执行其他操作并让数组在自己的时间填充)

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

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

于 2013-02-25T09:45:23.673 回答