当前位置:首页 > 日记 > 正文

PHP中大量数据周期中内存消耗的解决方案

PHP中大量数据周期中内存消耗的解决方案
最近开发PHP程序遇到了以下问题:

PHP致命错误:允许内存大小为268435456字节耗尽

错误信息显示的最大内存量允许已用尽。遇到这个错误首先让我很惊讶,但现在觉得,是不奇怪的,因为这个程序我发展是在数据表的搜索特点4万记录foreach语句中使用,也就是说,一次4万数据出来,然后逐一检查数据的每一天。可以想象的是,所有4万个数据加载到内存,而内存不爆炸。
毕竟,经过这么多年的编程,我依稀记得PHP提供了一次加载所有数据的API。它是一种处理流媒体的查询方法,数据不存储在内存中,经过简单的搜索,在官方网站上找到了正确的用法。

这个问题被称为缓冲区查询、缓冲和无缓冲的查询PHP官方网站。PHP的查询的默认模式是一个缓冲区模式。也就是说,查询的数据结果都会在记忆提取PHP程序处理。这给PHP程序的附加功能,如计算行数,指向指针线,等等。更重要的是,该程序可以反复执行两个查询和过滤操作的数据集,但这个缓冲区查询方式的缺点是占用内存空间,即速度变化。

与此相反,另一种PHP查询是非缓冲查询,数据库服务器将返回到数据,而不是完整的返回,结果是PHP程序消耗更少的内存,但增加了服务器数据库的压力,因为数据库将等待PHP获取数据,直到所有数据完成。

显然,缓冲查询模式适用于少量的数据查询,而非缓冲查询适合于大数据查询。

如您所知,对于PHP的缓冲模式查询,下面的示例是如何执行非缓冲查询API。

无缓冲的查询方法1:mysqli
< PHP
$ mysqli =新的mysqli(localhost
uresult美元=美元mysqli ->查询(选择名字的城市
如果($ uresult){
而($行= uresult美元-> fetch_assoc()){
echo $行{ 'name' }。php_eol;
}
}
uresult美元->关闭();
>
无缓冲的查询方法二:pdo_mysql
< PHP
为PDO =新PDO(MySQL:主机= localhost;北京世界
为PDO -> setAttribute(PDO::mysql_attr_use_buffered_query,假);

uresult美元=美元PDO ->查询(选择城市);
如果($ uresult){
而($行= uresult美元->取(PDO::fetch_assoc)){
echo $行{ 'name' }。php_eol;
}
}
>
非缓冲查询方法三:MySQL
< PHP
$ conn = mysql_connect(localhost
$ db = mysql_select_db(世界);

uresult美元= mysql_unbuffered_query(选择城市);
如果($ uresult){
而($行= mysql_fetch_assoc($ uresult)){
echo $行{ 'name' }。php_eol;
}
}
>
以上是解决PHP中大量数据循环内存耗尽的一种方法。我希望能帮助你。

相关文章

用PS制作手绘效果图

用PS制作手绘效果图

手绘,效果图,电脑软件,PS,本教程是向PS中的朋友介绍的,使用手绘效果创建一个令人满意的图片方法。手绘教程的效果很好,难度也不是很大。推荐一起学习。 今天我想在PS中介绍一种令人满意的手绘效果的图片处理方法,该教程的目的是调整多个选项的…

断点调试javascrip调试技巧

断点调试javascrip调试技巧

调试,断点调试,技巧,电脑软件,javascrip,首先,在所有浏览器中,断点调试最好的部分是Firefox。Firefox的Firebug网页不仅可以调试js脚本,而且调试Firefox扩展与先进的调试工具,如Javascript Debugger(发生了)。另外,Firefox也支持一些更先进的断点调试、…

PS图象处理软件介绍了从P到另一个

PS图象处理软件介绍了从P到另一个

图象处理,软件介绍,电脑软件,PS,本教程是在另一个图片的P介绍图片的PS图象处理软件,真的是很基本的教程。我建议你喜欢你的朋友一起学习。 许多人想知道和掌握P地图技巧,那么你如何从P到另一个图片让我们带你去PS图象处理软件拍照P到另一个图…

如何使图书馆Excel2007教程Excel表

如何使图书馆Excel2007教程Excel表

教程,图书馆,电脑软件,Excel,当收到货物,他们可以检查无误后送到仓库,在仓库表先填,财政和库存分析后在登记的情况下,也让库存和其他业务的基础。下面小编Excel参考生产方法供你参考,希望你能得到! 用excel制作仓库表格的方法 步骤01新工作表 在…

如何让一只鸟站在树枝上

如何让一只鸟站在树枝上

一只,站在,树枝,电脑软件,本教程是介绍一个朋友到CDR如何画一只小鸟站在树枝上。在教程中画的鸟非常可爱和困难。建议像你这样的朋友可以在本教程中学习。 今天介绍CDR如何在树枝上画鸟的站,本教程主要是利用贝塞尔曲线绘制工具画树枝,贝塞尔…

超级粉红色闹钟的AI教程

超级粉红色闹钟的AI教程

教程,粉红色,电脑软件,AI,本教程是介绍一个朋友到ai绘制一个超级强大的粉红色闹钟教程的纹理。本教程制作的闹钟非常漂亮,难度不大。建议像你这样的朋友一起学习这个教程。 人工智能的学习,大家。今天为您分享超强粉色闹钟教程AI绘画教程的…

用Javascript动态加载js文件和CSS文件

用Javascript动态加载js文件和CSS文件

文件,动态加载,电脑软件,Javascript,CSS,js动态加载CSS在多变的主题界面中非常重要。用户可以根据自己的浏览习惯选择自己喜欢的页面显示模式。下面详细地解释了以下内容。 我希望下面的方法对你有帮助。 (1)用Javascript动态加载js文件 Javascript动…

PS图象处理软件给出的公园长椅上的

PS图象处理软件给出的公园长椅上的

公园,图象,椅上,处理软件,黄色,秋季色彩较好把握,可分为两个步骤进行调整。首先使用调色工具将图片主色调加热,然后添加到深蓝色区域,高光和浅蓝色可以增加。 秋季色彩较好把握,可分为两个步骤进行调整。首先使用调色工具将图片主色调加热,然后…

图形和文本匹配:电子商务设计的布局

图形和文本匹配:电子商务设计的布局

布局,文本,图形,技术,电脑软件,今天我们带来了布局设计技巧的电商设计,这是一个很好的电子商务朋友教程。我建议你到这里来,你最喜欢的朋友可以来学习。 电子商务设计布局设计技巧简介,原作者:旧词虐心,感谢旧心共享的原心虐!让我们一起学习。 …

PowerPoint2003使全力攻击ppt2003

PowerPoint2003使全力攻击ppt2003

模板,教程,电脑软件,PPT,PPT的很多朋友只是不知道从哪里开始制作一个完整的PPT模板。今天我就借此机会与大家分享我的一些经验,希望能给那些新手朋友一些启示,慢慢从菜鸟到高手。 的PPT模板的基本操作是在PowerPoint2003: 首先,在制作PPT模板之…

QQ空间经典语录谈QQ空间

QQ空间经典语录谈QQ空间

空间,经典语录,电脑软件,QQ,一个社会就像一棵满是猴子的树,抬头仰望所有的笑脸,环顾四周的眼睛和耳朵,尤其是在单位里。 两个陌生人亲密恋人-路人,这是爱情的魔力。昨天是一个庄严的承诺,爱的人,今天会变得不重要。爱是如此无常。许多没有时间猝…

js中Unicode转码的详细解决方案

js中Unicode转码的详细解决方案

解决方案,详细,电脑软件,js,Unicode,有时当Unicode转码,我们编码转码。昨天在网上看到一个unitcode转码的方法,很好用!让我们与你分享。 javascript脚本代码转换功能: 无功gb2312unicodeconverter = { { ToUnicode:功能(STR){ 回归(STR)逃跑。ToLocaleLow…