Php 对象与数组
我目前在一个网站上工作,主要关注加载、处理等方面的效率和速度 我使用mysqli扩展来获取数据库位和bob,但我想知道输出数据集的最佳/最有效的方法是什么 目前,我正在使用$mysqli->fetch_assoc()和foreach()。读过这本书后,我知道先计算我的数据会有所不同。(我将在构建后进行优化) 我的问题是,哪种方法可以更快地将结果集转换为php数据对象。创建一个对象?数字阵列?关联数组?我的思想是一个对象,但我不确定Php 对象与数组,php,mysqli,benchmarking,Php,Mysqli,Benchmarking,我目前在一个网站上工作,主要关注加载、处理等方面的效率和速度 我使用mysqli扩展来获取数据库位和bob,但我想知道输出数据集的最佳/最有效的方法是什么 目前,我正在使用$mysqli->fetch_assoc()和foreach()。读过这本书后,我知道先计算我的数据会有所不同。(我将在构建后进行优化) 我的问题是,哪种方法可以更快地将结果集转换为php数据对象。创建一个对象?数字阵列?关联数组?我的思想是一个对象,但我不确定 我只是好奇,因为我不熟悉PHP的内部结构:)在mysql\u f
我只是好奇,因为我不熟悉PHP的内部结构:)在
mysql\u fetch\u object
的注释下,PHP文档中实际上有一个小基准:
SELECT * FROM bench... (mysql_fetch_object)
查询时间:5.40725040436提取时间:16.2730708122(平均值:1.32130565643E-5)
总时间:21.68032166 查询时间:5.37693023682
提取时间:10.3851644993(平均值:7.48886537552E-6)
总时间:15.7620947361 查询时间:5.345921278
提取时间:10.6170959473(平均值:7.64049530029E-6)
总时间:15.9630172253
获取对象的速度最慢,获取数字数组的速度可能比使用
mysql\u fetch\u array
或mysql\u fetch\u assoc
快一点,但差别可以忽略不计。事实上,mysql\u-fetch\u-array
同时获取assoc和numeric,它比mysql\u-fetch\u-assoc
更快,如图所示。。但是如果你追求性能,就不要使用mysql\u fetch\u object我相信数字数组可能是最轻量级的,其次是关联数组,然后是对象。我不认为这些差异会增加多少,所以您最熟悉的语法是最好的。来自
注意:性能
在速度方面,该函数与mysql_fetch_array()相同,并且几乎与mysql_fetch_array()一样快
mysql_fetch_row()(差别不大)
正如Tatu给出的基准所表明的那样,两者之间存在细微差异,但请记住,这些数字是从100个连续查询中累积而来的。我想说,你现在不麻烦,以后再优化的策略是一个不错的选择
SELECT * FROM bench... (mysql_fetch_array)
SELECT * FROM bench... (mysql_fetch_assoc)