2015-12-03 49 views
1

我到處讀到使用PDOStatement::fetch()意味着不會耗盡內存,無論結果集多大。所以這引出了一個問題:行存儲在哪裏?PDOStatement :: fetch()如何在內部工作?

PHP必須將結果存儲在某個地方,當它從數據庫中獲取它們時。這些結果存儲在哪裏?或者,它們是否存儲在數據庫中,並且PHP每次都必須爲數據庫查詢下一行?

回答

1

它類似於讀取文件,您打開一個流並逐個讀取數據,除了數據庫內部是一種更復雜的方式。

例如,請查看$ driver_options PDO::prepare的說明,以便您甚至可以設置可滾動光標以控制閱讀方向。