Web 应用程序中的 DB 游标获取
我从来不明白这一点:在网络开发中,[n|re] 逐一获取结果有意义吗?
我的意思是,为什么我应该使用 PDOStatement->fetch*()
当我可以使用
PDOStatement->fetchAll() 时
?
I never understood this: in web development whe[n|re] does it make sense to fetch results one by one?
I mean, why should I use PDOStatement->fetch*()
when I can use PDOStatement->fetchAll()
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
fetchAll()
会将所有结果提取到一个大数组中。对于非常大的结果集,它可能会超出 PHP 脚本的内存限制。
纯
fetch()
将逐条获取每条记录,从而消除这种危险。这是我能想到的不使用 fetchAll() 的唯一原因。
fetchAll()
will fetch all the results into one big array.With very large result sets, it could exceed the PHP script's memory limit.
A pure
fetch()
will fetch each record one by one, neutralizing that danger.That's the only reason not to use
fetchAll()
I can think of.