位置: 编程技术 - 正文

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

  • 一般纳税人纳税申报时间
  • 税额怎么调整
  • 转让土地使用权营业税税率
  • 现金回收期计算公式
  • 特许权使用费收入
  • 设备租赁费专票能抵扣吗
  • 冲减暂估成本的会计分录
  • 合作社免税收入需要成本吗?
  • 房屋出租需要缴纳个人所得税吗
  • 保险公司代扣代缴车船税完税证明
  • 公司向个人转款备注备用金合法吗
  • 收到增值税专用发票是已经付款了吗
  • 资产负债表和利润表和现金流量表的关系
  • 收取线路维护费合法吗
  • 跨地区经营产生的GDP
  • 开票金额是纳税金额吗
  • 独立核算分公司可以享受小型微利企业优惠吗
  • 非同一控制企业合并商誉
  • 商品进销差价如何结平
  • 货车的折旧率
  • 代扣代缴增值税可以抵扣进项税?
  • 保险公司赔偿的存货自然灾害损失
  • 怎么打开资源管理器
  • 特种车辆租赁需要什么资质
  • 公允价值变动损益怎么算出来的
  • linux shell 比较运算符
  • 销售购物卡如何交税
  • 违约金没有写按什么算
  • 发票已认证还能作废吗2020
  • 税务登记 申报
  • 公司投资款无法收回
  • 期间费用计算公式
  • 删除数组中某个值的数
  • 对公贷款利息支付
  • golang调用python代码
  • js中数组操作
  • python进行数学建模
  • lftp shell
  • makefile 编译选项
  • ps闪退是什么原因win11
  • 织梦cms为什么不维护了
  • 一般纳税人会计做账的基本流程
  • 递延所得税资产和负债怎么理解
  • 记账凭证应交税费填写样本图片
  • 进项税留抵怎么做分录
  • 专用发票与普通发票图片
  • 没有发票的费用怎么入账
  • 进项税和销项税抵扣的会计分录
  • 应交增值税明细表公式
  • 企业有外币账户怎样做账
  • 净资产增长率增长说明什么
  • 员工福利费怎么做账
  • 合法有效的凭证是什么
  • mysql 5.1.6
  • 计算机上没有运行windows无线服务
  • 搭建docker私有仓库实验报告
  • 重庆四日游最佳攻略超详细
  • vmp.exe是什么
  • Mac系统中使用QuickTime Player实现屏幕录像图文教程
  • win7系统怎样设置
  • Win7旗舰版电脑亮度怎么调节?
  • windos撤销
  • win10更新提示错误
  • opengl读取obj文件
  • qt creator kit
  • intent传递数据的方法
  • unity基础包
  • vue是如何实现双向绑定的
  • python3并发
  • shell数组遍历
  • unity 3d脚本编程
  • jquerychange事件
  • Base64、DES、MD5加密解密原理
  • JavaScript中getUTCSeconds()方法的使用详解
  • jquery全局方法
  • 云南省国家税务局网上办税服务厅
  • 入职培训结束就签合同吗
  • 娱乐圈的收入高得离谱
  • 重庆电子税务局怎么绑定办税人员
  • 甘肃税务政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设