人间API研究手记之一:事实证明,PHP对数组操作比读取数据库更快,而这两者都比直接读取API数据要快!

@f0ur同学前些日子提出做好友分组,我感觉是个非常好的想法,于是乎今天小试了一下。先分析,既然要分组,那必须在本地保存好友信息,mysql数据库是必须用的了。先通过API获取到关注好友信息,把它们写入数据库,然后再从中读取。事实证明,读取API和写库这一阶段用时较长,之后的读库就是非常快的了。

那么怎样调用保存在数据库里的信息,并进行分析才能达到特定的目的呢?方法很多,今天@jones用了三种方法,并且记录了各种方法的页面执行时间。下面是结果:

比如我想实现的是从数据库中找出我关注的好友中男生的列表,女生列表,性别保密列表,同时找到我关注但未关注我的所有好友。

通过以下三种方法:

1. 从库中直接读取男,女,保密和未关注好友信息,分别赋值给不同数组;(平均执行时间0.011s, 查询数据库4次)
2. 从库中读取所有我关注的好友信息,在mysql_fetch_array()的同时,根据不同的需要,把记录值分别赋给不同数组;(平均执行时间0.0062s, 查询数据库1次)
3. 从库中读取所有我关注的好友信息,把结果集赋给一个二维数组,并循环这个数组,根据不同需要把数据键值分别赋给不同的数组。(平均执行时间0.0057s, 查询数据库1次)

以上结果说明,要提高页面打开速度,要尽量减少数据库查询次数,并且循环数组foreach比while效率高。

怎么说到最后感觉成废话了。。。但不亲身试验是不会有体会的,因为页面打开速度差几毫秒,根本感觉不出来。算是以后写程序优化速度的基础吧。

技术有限,高手轻拍~