2010-05-09 140 views

回答

1

fetchAll()会将所有结果存入一个大阵列。

对于非常大的结果集,它可能会超出PHP脚本的内存限制。

fetch()将逐一取出每条记录,中和该危险。

这是我不能使用的唯一原因fetchAll()我能想到。

+0

当然,但我们通常不会发出像SELECT * FROM oneMillionRowsTable'这样的没有限制子句的SQL语句,至少我从来没有在Web应用程序中看到类似这样的查询。 – 2010-05-09 10:45:57

+1

@Alix既没有我,也不是完全不可想象的发生。我更喜欢'fetch'变体,它的意思是“我的PHP脚本的内存比mySQL服务器的内存更有限”。不过,它可能是'fetchAll'更快,因为它只与服务器交谈一次 - 我不知道,我从来没有测过它。 – 2010-05-09 10:48:13

+0

谢谢Pekka。 =) – 2010-05-09 10:49:54

相关问题