2010-05-09 54 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

相關問題