MySQL大数据量优化集合

原创
2016-06-07 16:54:55 794浏览

当MySQL表记录超过30万的时候,以前写的代码报错:ldquo;select * from gll_pro_ru WHERE 1 = 1 ORDER BY id DESCselect * from

当MySQL表记录超过30万的时候,以前写的代码报错:

“select * from gll_pro_ru WHERE 1 = 1 ORDER BY id DESC

select * from gll_pro_ru WHERE 1 = 1 ORDER BY id DESC limit 0,10000

Fatal error : Allowed memory size of 16777216 bytes exhausted (tried to allocate 39 bytes) in /var/www/web-sale/class/db.class.php on line 405 ”

405: while ($array_tmp[$i] = mysql_fetch_array($query,MYSQL_ASSOC))

解决方法:单个PHP运行程序最大可以用16M的内存,而实际需要的要大于它,而抱错。解决方法就是改php.ini的memory_limit的值,允许程序占于更大的内存,也可以在php代码里用ini_set("memory_limit","256M");设置.

想测试这个错也很简单,比如include一个大于2M甚至更大的文件。

linux

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。