我正在初始化一个由49605个key=>value
对组成的巨大数组((该数组将永远不会更改($boardkey_to_values=数组(97031=>097531=>1409531=>2410031=>3410131=>4472031=>5472531=>6472631=>7472651=>7484531=>8485031=>9485151=>10485131=>10,…(
问题是这需要编译器花费大量时间(平均40ms(
我想知道它们是否能成为一个更快的解决方案。
我在我的程序中使用了一大部分密钥(15-35k(。我以前使用的MySQL有where_in,但它甚至更慢(平均6秒(,有人建议我对它进行硬编码,事实上,它要快得多,但我想对它进行更多的优化。请参阅原始文章字符串与值的比较优化MySQL查询
40ms对于这么大的数组来说并不是很慢。但是,如果这是在网络上,并且有多个人在调用PHP页面,这可能会降低服务器的速度。你有几个选择:
-
在页面呈现后,使用多个Ajax调用来填充数组,即10000组每隔几秒钟(这样你就可以在页面上做其他事情阵列在自己的时间内填充(
-
使用数据库,因为搜索/更新会更快,而不是将其存储在数组中。
-
将程序逻辑更改为一次只使用几个值,而不是49K。(有点像分页,每页只显示数据的子集(