我只是想知道使用数据库查询的方式。我最近开始在 mysql 上使用 PDO。我正在编写一个检查制造商的小脚本,然后针对每个制造商检查项目。我被卡住是否会更快地将项目放入数组中并且(仅使用 1 个查询)然后当我循环制造商数组时使用 array_count_values 来获取项目数量或在循环中执行单独查询以计算项目. 我目前有大约 400 家制造商和 70000 件商品。
我当前使用数组的代码是:
$itemquery = $conn->query("SELECT manufacturer FROM item_info_short");
$itemquery->execute();
$itemrow = $itemquery->fetchall(PDO::FETCH_ASSOC);
foreach ($itemrow as $itkey => $itvalue) {
$items[] = $itvalue[manufacturer];
}
$it_qty = array_count_values($items);
然后对于我的循环:
$manu_query = $conn->query("SELECT manufacturer FROM manufacturers ORDER BY manufacturer");
while($rowsx = $manu_query->fetch(PDO::FETCH_ASSOC)){
$rowid = $rowsx[manufacturer];
$count = $it_qty[$rowid];
if($count == '') $count = 0;
echo "<option value=\"$rowsx[manufacturer]\">$rowsx[manufacturer] $count Items</option>";
}
如您所见,我一共使用了 2 个 PDO 查询。另一种方法将使用 401 查询。
我正在尝试查看哪种方法是最佳实践和/或更快。
提前感谢您的任何建议。