位置: 编程技术 - 正文

解决PHP里大量数据循环时内存耗尽的方法(php大量数据处理)

编辑:rootadmin

推荐整理分享解决PHP里大量数据循环时内存耗尽的方法(php大量数据处理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:解决php里大量数字的方法,解决php里大量数字错误,解决php里大量数字错误,解决php里大量数字的方法,php大量数据处理,php大量数据处理,解决php里大量数字的方法,解决php里大量数据的方法,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在开发一个PHP程序的时候遇到如下一问题:

PHP Fatal error: Allowed memory size of bytes exhausted

错误信息显示允许的最大内存已经耗尽。遇到这样的错误起初让我很诧异,但转眼一想,也不奇怪,因为我正在开发的这个程序是要用一个foreach循环语句在一个有4万条记录的表里全表搜索具有特定特征的数据,也就是说,一次要把4万条数据取出,然后逐条检查每天数据。可想而知,4万条数据全部加载到内存中,内存不爆才怪。

毕竟编程这么多年,我隐约记得PHP里提供有非一次全部加载数据的API,是像处理流媒体那样,随用随取随丢、数据并不会积累在内存的查询方法。经过简单的搜索,果然在官方网站上找到的正确的用法。

这个问题在PHP的官方网站上叫缓冲查询和非缓冲查询(Buffered and Unbuffered queries)。 PHP的查询缺省模式是缓冲模式。也就是说,查询数据结果会一次全部提取到内存里供PHP程序处理。这样给了PHP程序额外的功能,比如说,计算行数,将 指针指向某一行等。更重要的是程序可以对数据集反复进行二次查询和过滤等操作。但这种缓冲查询模式的缺陷就是消耗内存,也就是用空间换速度。

解决PHP里大量数据循环时内存耗尽的方法(php大量数据处理)

相对的,另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直到数据全部取完。

很显然,缓冲查询模式适用于小数据量查询,而非缓冲查询适应于大数据量查询。

对于PHP的缓冲模式查询大家都知道,下面列举的例子是如何执行非缓冲查询API。

非缓冲查询方法一: mysqli

非缓冲查询方法二: pdo_mysql

非缓冲查询方法三: mysql

以上内容就是小编给大家分享的解决PHP里大量数据循环时内存耗尽的方法,希望对大家有所帮助。

ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法 原创 本文实例讲述了ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法。分享给大家供大家参考。具体如下:在ThinkPHP的config.php中设置:'SHOW_RUN_TIME'=true;

PHP+Mysql+jQuery文件下载次数统计实例讲解 项目中我们需要统计文件的下载次数,用户每下载一次文件,相应的下载次数加1,类似的应用在很多下载站中用到。本文结合实例使用PHP+Mysql+jQuery,实

PHP+Mysql+jQuery中国地图区域数据统计实例讲解 今天我要给大家介绍在实际应用中,如何把数据载入到地图中。本文结合实例,使用PHP+Mysql+jQuery实现中国地图各省份数据统计效果。本例以统计某产品

标签: php大量数据处理

本文链接地址:https://www.jiuchutong.com/biancheng/275990.html 转载请保留说明!

上一篇:php中删除、清空session的方式总结(php清空数据表)

下一篇:ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法 原创

  • 报税扣款锁定如何解除
  • 纳税标准怎么算
  • 如何查询增值税申报表
  • 个税返还什么时候到账
  • 税控盘及维护费的会计分录
  • 银行存款余额调节表编制
  • 防伪开票系统技术维护费怎么做分录
  • 个税汇算清缴为啥要补交
  • 现金流量表季度申报可以不填吗
  • 预收账款转营业外收入账务处理
  • 个体工商年报怎么弄
  • 未实际处置资产怎么处理
  • 支付收购股权款如何做账
  • 开发间接费用是指
  • 学校付学生的现金奖励入什么科目
  • 持有至到期投资改名为
  • 地产公司代办房产证
  • 营改增后企业所得税
  • 北京增值税纳税申报表在哪里打印
  • 行车记录仪怎么开发票
  • 补交以前年度增值税和滞纳金怎么开票
  • 已经计提的增值税怎么退
  • 预交增值税抵减申报
  • 安全生产费怎么算
  • 降低增值税税率对消费者的影响有哪些
  • 闲置房屋
  • 拍短视频服务费怎么算
  • 专用发票抵扣和免税区别
  • 鼠标玩游戏飘怎么回事
  • 西方会计要素有哪些
  • 在win7系统中安装win10
  • php操作json文件
  • 税务实名认证是不是就是税务登记
  • fpzs1是什么文件可以删除吗
  • 合同的第三方指什么
  • 【swinUnet官方代码测试自己的数据集(已训练完毕)】
  • gridview datakeynames
  • 混合销售行为应征增值税不征营业税的是
  • sql server数据
  • 研发费用明细科目怎么填
  • 补交所得税会计处理方法包括
  • 简易征收的项目进项税可以抵扣吗
  • 会计利润调增调减项目
  • 长期股权投资亏损冲减顺序
  • 装修费应该按几折算
  • 高速过路费怎么补交
  • 金融资产减值损失
  • 普通发票作废影响额度吗
  • 商品过期怎么做分录
  • mysql优化的几种方法
  • mysql与c++相连
  • sql2008没有数据库
  • 电脑开机出现英文字母开不了机
  • wind2000
  • 如何移植操作系统
  • ktpcntr.exe
  • mac如何整理桌面图标
  • windows8音频服务尚未启用 怎么解决
  • centos7查看性能监控
  • window7电源设置
  • win102021年1月大更新
  • win10桌面底部
  • win8 应用商店
  • c盘越来越小了
  • python数据结构与算法分析 第2版(图灵出品)
  • perl中my
  • js怎么用jquery
  • 视觉观点
  • unity网络通信插件
  • shell脚本 -ne 0
  • mac如何打开两个微信
  • android开发范例实战宝典
  • js文件被加密
  • jquery怎么修改样式
  • 个人所得税app什么时候能查到月收入
  • 济宁税务大厅上班时间
  • 报考国税
  • 专票最高几个点
  • 工会经费怎么缴付
  • 重庆外经证网上报验流程及时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设