
cursor 默认使用 buffered 模式。这种模式会把所有结果集返回并载入内存。如果结果集很大的话,内存会爆。
unbuffered cursor 是每次只将下一行结果返回,内存占用很小。不过这种模式缺点很多,所以没有作为默认的模式。
使用mysql_unbuffered_query(), 可以避免内存的立即占用, 如果返回的结果存放到array中也是完全没有问题的, 也不会出现php查询mysql数据量过大时导致内存溢出问题.这种情况一般会在单表数据表数据库比较大的时候出现,建议在使用的过程中限制单次读取数据条数,或者对数据表进行分表
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)