Web 应用程序中的数据库游标获取
Posted
技术标签:
【中文标题】Web 应用程序中的数据库游标获取【英文标题】:DB Cursor fetching in Web Applications 【发布时间】:2010-05-09 10:37:29 【问题描述】:我一直不明白这一点:在 Web 开发中,[n|re] 一个一个地获取结果有意义吗?
我的意思是,既然可以使用PDOStatement->fetchAll()
,为什么还要使用PDOStatement->fetch*()
?
【问题讨论】:
***.com/questions/2770630/… 【参考方案1】:fetchAll()
会将所有结果提取到一个大数组中。
如果结果集非常大,它可能会超过 php 脚本的内存限制。
一个纯粹的fetch()
会一一获取每条记录,消除这种危险。
这是我能想到的不使用fetchAll()
的唯一原因。
【讨论】:
当然,但是我们通常不会发出像SELECT * FROM oneMillionRowsTable
这样没有限制子句的SQL 语句,至少我在Web 应用程序中从未见过这样的查询。
@Alix 我也没有,但这并非完全不可想象。我更喜欢fetch
变体,因为“我的 PHP 脚本的内存比 mysql 服务器的内存更有限”。不过,fetchAll
可能更快,因为它只与服务器对话一次 - 我不知道,我从未测量过它。以上是关于Web 应用程序中的数据库游标获取的主要内容,如果未能解决你的问题,请参考以下文章
如何在android中使用游标(sqlite查询)搜索数据库