制作付费下载网站,中国商标查询官网,正规软件开发培训学校,湖南十大龙头企业1 错误由来
php操作三张表#xff0c;一张表有近四十万条记录#xff0c;另外两张表记录数在三万左右#xff0c;三张表又关联。应用左连接left join。 $qLStr select pu.pd_no, pu.common_name, pu.purchase_cost, pu.medication_area, pu.total_dosage, pu.contro…1 错误由来
php操作三张表一张表有近四十万条记录另外两张表记录数在三万左右三张表又关联。应用左连接left join。 $qLStr select pu.pd_no, pu.common_name, pu.purchase_cost, pu.medication_area, pu.total_dosage, pu.control_object, pu.use_cost, .pu.farmer_id, pr.pesticide_type, pr.toxicity, pr.content_num, pr.class_type, .pf.farmer_type . from pesticide_usedetail as pu . left join pesticide_register as pr on pu.pd_nopr.regist_no . left join pesticide_farmers as pf on pu.farmer_idpf.id . where pu.dateyear2022 and pu.crop_id3 . order by pu.farmer_id; 但运行数秒后页面即显示为空白。不显示记录也不显示记录数量。
加error_reporting(-1);
也无错误显示。
2 原因查找
通过myadmin可以正确运行查询记录数约在9万左右换另一种crop_id记录数3万多可由php操作查询语句正确运行。
修改sql语句字段数减少到8个字段可开始查询以为是left join语句的效率问题字段pd_no等连接字段加上索引但问题依旧。
原php语句是在mysql封装类中操作直接跳过类连接数据库后查询记录数可显示。但在进行 while($row $rowLArr-fetch_assoc()){ $rows[] $row; }
操作时提示
Fatal error: Allowed memory size of ***bytes exhausted错误
3 解决方法
查看php.ini文件
memory_limit 128M
起先原以为这个够了实际在数据量较大时就出问题。
修改为memory_limit 256M
ok