<?php
include '../mysql.php';
// N+1问题
// customer_rec表 customer_id 关联 customer表
$rec = $DB->query("select * from `customer_rec`");
$rec_id = array();
$cid = array();
$rec_data = array();
while ($recs = $DB->fetch_assoc($rec)){
if (!in_array($recs['customer_id'],$rec_id)){
$rec_id[] = $recs['customer_id'];
$rec_data[$recs['customer_id']] = $recs;
}
}
$c = $DB->query("select * from `customer` where id in (".implode(',',$rec_id).")");
while ($rec = $DB->fetch_assoc($c)){
$cid[$rec['id']] = $rec;
}
foreach ($rec_data as $data){
// $rec_data[$data['customer_id']]['client_name'] = $cid[$data['customer_id']];
$rec_data[$data['customer_id']]['client_name'] = $cid[$data['customer_id']]['client_name'];
}
print_r($rec_data);
PHP N+1问题
于 2021-09-29 18:04:34 首次发布
本文探讨了PHP中如何通过避免N+1查询问题,通过预加载关联数据,优化了查询性能。通过实例展示了如何使用SQL和PHP实现customer_rec表与customer表的高效关联,减少数据库查询次数,提高应用响应速度。
摘要由CSDN通过智能技术生成