gpt4 book ai didi

php - 生成 6k mySQL 查询的代码当然可以优化

转载 作者:行者123 更新时间:2023-12-01 00:14:04 24 4
gpt4 key购买 nike

我有一段 PHP 代码生成了超过 6000 个对 mySQL 的查询,我觉得这可以做得更好......

$q0 = "SELECT id_productFROM products";     
$e0 = mysql_query($q0) or die("Select failed: " . mysql_error());

while($r0 = mysql_fetch_array($e0)){

$id_product = $r0['id_product'];

$q1 = "SELECT * FROM productspeople WHERE id_product = $id_product ";
$e1 = mysql_query($q1) or die("Select failed: " . mysql_error());

if(mysql_num_rows($e1) == 0){ $count++; }else{ }

}

echo $count. "<br />";

我的问题是......有没有更好的方法来计算另一个表中某个表的某个g id字段的“未出现”?如果是这样..怎么办?

提前感谢并感谢您理解我的这个(很可能)新手。

最佳答案

一次查询。

SELECT COUNT(*) AS count 
FROM products
WHERE NOT EXISTS (
SELECT 1 FROM productspeople WHERE id_product = products.id_product
)

哦,如果 productspeople.id_product 上有一个索引,那将大有帮助。

作为一般提示,请尝试在数据库上做尽可能多的工作。相比之下,在 PHP 和数据库之间来回发送查询效率低得离谱。

关于php - 生成 6k mySQL 查询的代码当然可以优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com