位置: 编程技术 - 正文

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

  • 动产租赁税率是多少2023
  • 税收减免是否属于收入
  • 季中转一般纳税人申报步骤
  • 车票抵扣进项税申报在哪一栏
  • 季报利润表本期数
  • 医院会计制度准则
  • 应交税费明细分类账
  • 建筑企业异地预缴增值税计算
  • 商业保险可以抵扣增值税吗
  • 资产负债表中流动性从高向低
  • 当期进项税额大于销项税额
  • 进口免税店的东西都是正品吗
  • 2018年车船税收费标准
  • 暂估入库的材料需要做T型账户嘛?
  • 减税的案例
  • 虚开发票什么意思?
  • 陈列费表格
  • 进项虚假怎么处理
  • 累计折旧是备抵类科目吗
  • 转销和冲销是什么意思
  • 销售原材料会计分录,款项已收
  • 利润弥补亏损如何处理
  • 电商公司贷款条件
  • 去年年终奖
  • macos big sur 电池
  • 公司自有房屋出租如何开票
  • win10右键个性化显示该文件
  • 二级资本债是什么意思
  • 代扣代缴个人所得税怎么申报
  • 工作组只能看到自己
  • 固定资产前期费用计入
  • php连接mysql数据库的几种方式及区别
  • pytorch开源项目
  • mysql刷新数据
  • 路由vue-router
  • 波士顿房价数据集可视化
  • vue 路由
  • 用ipconfig/all命令不能显示
  • 残疾人就业保障金怎么申报
  • 货款收不回来了怎么做账
  • docker管理系统
  • bat 进入当前文件夹
  • 产生滞纳金有什么影响
  • 税务申报显示已申报
  • 税前补发补扣
  • 短期投资理财是
  • 挖机租赁如何做账
  • 进口关税的计算是以什么为基础
  • 处置固定资产增值税收入与企业所得税收入不一致
  • 普票是啥意思
  • 主营业务收入的明细科目怎么写
  • 管理人员工资结构
  • 单位订购价格
  • 长期股权投资账务处理实例
  • 房产契税新政策2023
  • 研发和技术服务属于什么大类
  • 申报个税劳务报酬按20%扣
  • mysql怎么把列变成行
  • win7 32位装ie11
  • windows server 2016最大内存
  • 怎么提升命令提示符
  • linux 执行结果写到文件
  • win8系统自带应用都打不开了怎么办
  • mac电脑 删除废纸篓里的指定文件
  • 系统引导程序出错了如何修复
  • 在linux操作系统中,/etc/rc.d/init.d
  • linux分区顺序详解
  • win7网页有错误如何修复?
  • linux中病毒了怎么处理
  • Jquery ajax 同步阻塞引起的UI线程阻塞问题
  • cocos creator rpg
  • js 获取ua
  • 行为怪异的人有问题吗
  • 女鬼照片
  • shell脚本实际运用
  • python的字符
  • 技术总结2000字
  • 江苏省地税局公众号关注
  • 广东电子税务局电话
  • 在税务局代开增值税票如何入账?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设