本文实例分析了php查询mysql大量数据造成内存不足的解决方法。分享给大家供大家参考。具体分析如下:

一、问题
使用php查询mysql大数据量的时候,程序尚未执行完毕,跳出警告:
Fatal error: Allowed memory size of 100663296 bytes exhausted (tried to allocate 103 bytes)
错误提示:php所分配到的100M内存被占用完毕。
二、解决方法:
最简单的解决办法是:在执行文件的头部增加:
ini_set('memory_limit','256M');
把内存增加到256M或者更多,可以增大php所使用的内存空间
但是下次若要读取更多的数据该怎么办呢,总不能一次次的增加,导致服务器的内存都被php吃光。
这里介绍一个函数:
使用memory_get_usage()方法获得php使用的内存量。发现随着读取数据条数的增加,php使用的内存在一步步增加。
难道php在查询mysql时的数据是存在内存中的?搜索了一下,发现果真大概就是这个意思。
mysql的C API函数有mysql_use_result()和mysql_store_result()
mysql_store_result()会把结果集从mysqlServer读到客户端,而 mysql_use_result()只是读取了结果集的元信息
1、php的mysql_query调用的是mysql_store_result(),自动获取并缓存结果集
2、而php的另一个函数mysql_unbuffered_query()则是调用的 mysql_use_result(),一方面,这在处理很大的结果集时会节省可观的内存。另一方面,可以在获取第一行后立即对结果集进行操作,而不用等到整个 SQL 语句都执行完毕。
所以我们在读取大量数据的时候,可以使用mysql_unbuffered_query()来替代mysql_query()。经测试,的确如此。而且相当给力,导完所有数据内存一直保持在1MB以内,没有增长过
mysql_unbuffered_query() 向 MySQL 发送一条 SQL 查询 query,但不像 mysql_query()那样自动获取并缓存结果集。一方面,这在处理很大的结果集时会节省可观的内存。另一方面,可以在获取第一行后立即对结果集进行操作,而不用等到整个 SQL 语句都执行完毕。当使用多个数据库连接时,必须指定可选参数 link_identifier。
mysql_unbuffered_query()的好处是有代价的:在 mysql_unbuffered_query()返回的结果集之上不能使用 mysql_num_rows() 和 mysql_data_seek()。此外在向 MySQL 发送一条新的 SQL 查询之前,必须提取掉所有未缓存的 SQL 查询所产生的结果行。
所以一定要结合自己的业务需求适当的选取函数
希望本文所述对大家的php程序设计有所帮助。
相关推荐:
SEO快速提升:让你的网站排名瞬间飙升的秘诀,网站建设的发展目标
seo涉及什么内容,seo主要包括 ,法医使用ai
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
ChatGPT启动时遇到问题?快速解决方案让你畅享智能对话体验,ai如何保存logo
Bing学术搜索结果不显示时间?如何解决这一问题,提升学术研究效率!,ai怎么参考线
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
AI写作的崛起-“只能AI写作”背后的巨大潜力,舞狮摄影ai
SEO难吗?揭秘SEO背后的真相,让你轻松上手!,大旺百度网站推广
文章去AI回归创作的本真之美
SEO课:让你从小白变成搜索引擎优化高手,推广自媒体营销计划
什么是SEO优化方案,seo的优化方案 ,ai emorobot
GPT人工智能-让未来触手可及的智慧之光,ai头花写真
为什么选择老域名工具?提升网站SEO与品牌影响力的秘密武器,软文与seo文章区别
ChatGPT页面不自动显示最新消息:如何解决这一困扰,提升使用体验?,斑马ai幼儿百度云网盘
SEO联系:如何通过SEO优化提升您的网络营销效果,企业营销推广获客
ChatGPT怎么有梯子?突破网络限制,轻松畅享AI智能,ai对唱音响
seo点击工具,seo排名点击软件推荐 ,ai狂躁
SEO优化全攻略提升网站排名的关键步骤与未来趋势,这是什么新晋动画ai
SEO留痕:数字营销的隐性力量,如何通过SEO优化让品牌更具竞争力,铁岭网站关键词建设优化
ChatGPT为什么访问不了了?了解背后的原因与解决方法,AI怎么拖入路径
ChatGPT:OpenAI的创新之作-一款颠覆传统的语言模型,ai球衣号
SEO与SEM策略:提升网站流量与品牌曝光的双剑合璧,ai补图
在线AI文章:为您打造全新内容创作体验
SEO主要是为网站引流吗?深入解析SEO的核心价值,AI算算
什么是seo反连接,网站反链多好还是少好 ,网易ai产品
为什么要seo 运营,为什么需要seo ,ai人物头盔
seo需要什么部门,seo主要干什么 ,ai接入仪器
软件AI:颠覆未来的智能革命
ChatGPT怎么打不开了?揭秘背后的原因与解决方法,ai中打开ai文件丢失
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
OpenAI注册问题解决方案:如何顺利通过手机号验证,反对ai头像
ChatGPT免费用户每天的使用限制:如何高效利用,突破困境!,花花制作ai
ChatGPT宕机两小时,OpenAI紧急修复,用户期待AI恢复正常服务,oppo小布ai
ChatGPT-深度学习与自然语言处理的革命性突破,金华ai视觉锁螺丝机
SEO项目:如何通过精确优化提升企业网站排名与转化率,武汉做网站优化的公司
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,网站推广怎么选择
SEO手段:提升网站流量的制胜法宝,idc网站怎么推广
ChatGPT无法访问原因分析及解决方案,斑马ai报道
seo需要保持什么心态,seo的要求 ,ai83562
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
智能AI生成文章释放创作新可能
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
ChatGPT网页版内容显示不全的原因与解决方案,ai超级绘
ChatGPTO1免费:突破智能聊天的极限,体验AI无限可能,糯米ai唱歌
优化提长:让企业效能提升的秘密武器,长沙网站建设创意
SEO这种营销方式,改变你网站流量的秘密武器,佛山网站设计建设