位置: 编程技术 - 正文

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

  • 其他应收款属于应收账款吗
  • 实收资本认缴怎么缴纳印花税
  • 定额发票可以用旧的营业执照发票章吗
  • 年初未分配利润和年末未分配利润的关系
  • 土地使用税怎么征收标准
  • 账外房产按评估入账怎么交税
  • 外币折算准则规范的外币交易
  • 购买材料自用不退款
  • 营改增后建筑公司账务处理
  • 公司股权转移怎么办理
  • 软件的维修性要求
  • 车辆租赁费可以开专票吗
  • 本月应该确认收入,但是一般下月才开票该怎么处理?
  • 老版普通增值税发票还能用吗
  • 企业的不征税收入用于支出所形成的资产,其计算的折旧
  • 残疾人保障金工资总额包括社保吗
  • 工效挂钩企业工资税前扣除有何规定?
  • 职工购房补贴面积标准
  • 苹果电脑的删除
  • 确认收入入账
  • 保护地址是什么意思
  • 工程完工结转成本怎么算
  • ccs ide
  • php 代码生成
  • 建筑保温材料施工工艺
  • 国家差旅费报销最新标准住宿
  • 固定资产后续支出资本化和费用化
  • 临时经营如何纳税
  • 国外供应商如何审核
  • 图片转base64格式返回给前端,前端如何展示?
  • php实现递归
  • 加计抵减和加计扣除是一样的吗
  • nginx怎么运行php
  • 罚款是否需要开证明
  • 跨区预缴增值税申报表查不到怎么回事
  • 企业坏账准备贷方核算内容
  • python多态的概念
  • 帝国cms怎么用
  • 企业分配的股票股利宣告发放
  • 母公司与子公司内部合作协议
  • 收到现金股利是什么意思
  • 未开票收入不入账以规避税收
  • 交通运输服务包括程租
  • 积分兑换如何做表格分析
  • 预支报销怎么做账
  • 车费报销记入哪个账户
  • 内部招待所管理规定
  • 应税劳务会计分录
  • 客户逾期不付款,需要赔多少违约金
  • 企业支付宝能买东西吗
  • 因进出口商品引起的收支
  • 分公司需要做税务报道吗
  • 施工期间水电费没有发票财务不给报销
  • 息税前利润是什么税之前
  • 买水果送礼
  • mysql多字段排序原理
  • sql server 将数字转换成日期
  • 自动化生产线模型
  • sql根据名字查询
  • win7系统系统
  • win8电脑如何进入安全模式启动
  • 微信开发者软件
  • linux如何装
  • win8引导文件
  • cocos creator 发布web
  • js基础笔记
  • nodejs mocha
  • 网页制作css样式
  • php获取当前脚本路径
  • unity安卓手机游戏官网
  • mailto的使用技巧分享
  • jQuery使用animate实现ul列表项相互飘动效果示例
  • android开发遇到的技术难点
  • 电子税务局获取验证码异常
  • 吉林省电子税务局操作手册
  • 如何在网上开税票发票
  • 深圳2021纳税
  • 开健身会所国家有补贴吗
  • 税收筹划六种方法
  • 社会保险登记表下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设