位置: 编程技术 - 正文

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

  • 销售二手车需要什么资质
  • 红利税是什么时候扣的
  • 出口货物丢失起诉谁
  • 税控盘退费怎么做会计分录
  • 单张发票金额有多少
  • 民营企业月末要报哪些税
  • 软件出口税收政策
  • 退回多打货款分录
  • 铁路运输发票的开具要求
  • 废料账务处理
  • 展厅出租或招商
  • 个体户生产经营所得税税率表
  • 认缴制下实收资本印花税
  • 房贷可以抵个人所得税吗
  • 商业保险可以税前扣除多少
  • 关于7.1号增值税普通发票新规
  • 危险废物处理费用发票怎么开
  • 转增股本是股票股利吗
  • 更正申报增值税会产生滞纳金吗
  • 专项维修基金和契税有什么区别
  • 企业所得税三项费用扣除
  • 费用未入账是什么意思
  • 借钱注册公司会计分录
  • 内插法计算内部收益率公式
  • 因改制重组等原因撤回出口退税备案需要提交哪些资料?
  • 怎样取得个人所得税
  • 道路工程施工机械
  • 报销差旅费涉及的会计科目
  • 权益法核算的投资收益要做递延所得税吗
  • 华为手机屏幕下的三个功能键设置方法
  • 鸿蒙2.0正式版升级
  • 免单产品是什么意思
  • 财务管理集权与分权
  • 固定资产置换存货的账务处理
  • 企业开办期间的税费
  • 若依移动端微信登录
  • thinkphp常用函数
  • python自动化selenium
  • anaconda卸载干净
  • kaldi官网
  • 个体工商户开增值税专用发票
  • 如果已经结帐,发现凭证有误,应该如何处理
  • 什么叫做关税完税证明呢
  • 工会经费可以发购物卡吗
  • python 读取图片
  • sql执行顺序优先级
  • 收购企业怎么做账
  • sqlserver2008新建实例
  • 应付职工薪酬会计凭证
  • 贷款利息收入要交增值税吗
  • 收到发票应如何处理
  • 委托代销受托方会计分录
  • 集团公司收到的上级工作秘密比照国家
  • 应交税费年末需要结转吗
  • 员工出差坐火车怎么处理
  • 往来款多了会怎么样
  • 其他业务收入在利润表中怎么填写
  • 暂估怎么冲回
  • mysql数据库优化总结
  • linux的安装
  • wp8.1怎么升级wp10
  • linux系统中用户账户有哪些分类
  • sxgdsenu.exe - sxgdsenu是什么进程 有什么用
  • windowsxp优点
  • win8打开ie
  • mm server conection failed
  • mac如何搜索应用
  • 如何在linux中添加环境变量
  • win7更改磁盘分区
  • 猜猜这关怎么过攻略
  • android launchers
  • unity3d怎么用
  • jQuery xml字符串的解析、读取及查找方法
  • lohd
  • jquerydom操作
  • javascript中继承
  • 湖南地税网上办税服务厅
  • 陕西省地方税务局公告2016年第1号
  • 电子税务局开电子发票如何更换开票人
  • ipo上市要注意什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设