mysqli_fetch_array() 还是 mysqli_fetch_all()?

Ste*_*eve 6 php mysqli

mysqli_fetch_array()我看到和之间的比较mysqli_fetch_all()表明,mysqli_fetch_all()它将占用更多内存,并且我将不得不迭代数组。

mysqli_fetch_all()是一次调用mysqli,但是mysqli_fetch_array()每行一次调用,例如 100 次调用。

我不知道 mysqli 处理是如何工作的:mysqli_fetch_array()当您还考虑调用次数时,调用真的更有效吗?

(我已经明白返回的数据可以是关联数组,也可以不是)

Ben*_*Ben 2

从 PHP 页面mysql_fetch_all()

我使用fetch_allvs while/ fetch_arrayand 进行了测试:

fetch_all使用更少的内存(但不是那么多)。

就我而言(test1 和 test2):147008,262848 字节 ( fetch_all) 与 147112,262888 字节 ( fetch_array& while)。

所以,关于内存,两种情况都是一样的

不过,关于性能:

我的测试需要:使用 350 毫秒(最坏情况)fetch_all,而使用464 毫秒(最坏情况)fetch_array,或者大约35% 最差情况使用fetch_array和一个while周期

因此,对于返回适量信息的普通代码,使用, 是:fetch_all

A。更干净(一行代码)
b.使用更少的内存(大约减少 0.01%)
c. 快点

PHP 5.6 32位,Windows 8.1 64位