位置: 编程技术 - 正文

解决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不能正常显示运行时间的解决方法 原创

  • 房地产开发企业资质等级有几个
  • 异地存货怎么审计
  • 小规模纳税人开专票税率是1%还是3%
  • 奖金算不算工资薪金所得
  • 快递费运费物流费一样吗
  • 科技公司技术服务费计入什么科目
  • 小微企业要缴纳印花税吗
  • 公司的软件服务包括哪些
  • 采购普通发票和专用发票的区别
  • 冲红发票怎么写备注
  • 信息技术服务企业研发费用加计扣除
  • 委托加工环节原材料收消费税吗
  • 合并会计报表编制讲解视频
  • 销售使用过的固定资产3%减按2%
  • 个人所得税0申报逾期
  • 营改增后还有建筑业发票吗
  • 取得土地无形资产的条件
  • 个人所得税免税收入怎么填纳税申报表
  • 原材料质量问题退回
  • 个人网银测试要点
  • 公司转让税费如何计算
  • 租金收入发票税目
  • 购置税和购车税一样吗
  • 股权收购特殊性税务处理案例
  • 职工教育扣除标准是什么
  • 营改增步骤
  • 跨年的费用冲回会计分录
  • 企业类型主要有
  • 销货退回与折让是什么
  • 操作系统的安全目标主要包括哪些?
  • 输入字母和数字 小学信息技术课
  • PHP:Memcached::setOptions()的用法_Memcached类
  • 小规模企业没有成本票怎么办
  • regsvr32 shmedia.dll
  • 增值税专用发票查询系统官方网站
  • symfony框架的特点
  • 税控盘维护费全额抵扣分录怎么做
  • thinkphp 模块
  • 房屋装修固定资产置换
  • 只有进项税没有销项
  • Stable Diffusion - API和微服务开发
  • 注册公司填写从业人数多少合适
  • 应收应付核销规则及常见问题
  • 记账凭证中的会计科目错误导致账簿错误的更正法
  • mongodb的索引种类
  • python导入模块的本质
  • 经典帝国cms生成器下载
  • 固定资产的会计政策有哪些
  • 普票不能抵扣要他干嘛
  • sql server基本
  • 商业折扣影响主营业务成本吗
  • 实收资本为零的风险 债权人
  • 所得税预缴怎么申报
  • 企业所得税弥补亏损怎么弥补
  • 存货成本主要包括
  • 网上银行可以取款吗
  • 如何理解出口退税的意义
  • 工程施工的成本
  • 对方开商业承兑汇票给我们
  • 水利建设基金怎么交
  • 什么是发票抬头信息
  • 冲回以前年度工会费
  • mysql 5.7.28安装
  • sqlserver2012序列号
  • windows xp密码忘记怎样解锁
  • 萝卜家园和番茄花园哪个好
  • linux dfs
  • window7文件查看方式
  • 所有的未知
  • Android游戏开发实践指南
  • dos 批处理
  • cocos2dx4.0教程
  • 学习雷锋好榜样歌词
  • angular.js
  • java项目的命名规则
  • error: Error parsing XML: unbound prefix
  • python 字典怎么添加数据
  • 远程办税系统
  • 誊抄什么意思
  • 职称申报后附件打不开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设