大佬教程收集整理的这篇文章主要介绍了php查询mysql大量数据造成内存不足的解决方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例分析了php查询mysql大量数据造成内存不足的解决方法。分享给大家供大家参考。具体分析如下:
使用php查询mysql大数据量的时候,程序尚未执行完毕,跳出警告: php所分配到的100M内存被占用完毕。
最简单的解决办法是:在执行文件的头部增加:
把内存增加到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的R_398_11845@ysql_query调用的是mysql_store_result(),自动获取并缓存结果集 2、而php的另一个函数mysql_unbuffered_query()则是调用的 mysql_use_result(),一方面,这在处理很大的结果集时会节省可观的内存。另一方面,可以在获取第一行后立即对结果集进行操作,而不用等到整个 SQL 语句都执行完毕。
希望本文所述对大家的php程序设计有所帮助。
以上是大佬教程为你收集整理的php查询mysql大量数据造成内存不足的解决方法全部内容,希望文章能够帮你解决php查询mysql大量数据造成内存不足的解决方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。