Php 如何构造更复杂的mysql查询进行优化

Php 如何构造更复杂的mysql查询进行优化,php,mysql,query-optimization,Php,Mysql,Query Optimization,我有一段可爱的代码要优化: $result = mysql_query("select day from cities where name='St Charles'"); $row = mysql_fetch_assoc($result); $day = $row['day']; $result = mysql_query("select id,durability from goods_meta_data"); while($row = mysql_fetch_assoc($result

我有一段可爱的代码要优化:

$result = mysql_query("select day from cities where name='St Charles'");
$row = mysql_fetch_assoc($result);
$day = $row['day'];

$result = mysql_query("select id,durability from goods_meta_data");

while($row = mysql_fetch_assoc($result)) {
    mysql_query("delete from possessions where day_created<" . ($day-$row[durability]) . " and good_id=" . $row['id']);
}
$result=mysql\u查询(“从name='St Charles'所在城市选择日期”);
$row=mysql\u fetch\u assoc($result);
$day=$row['day'];
$result=mysql_查询(“从商品元数据中选择id、耐久性”);
while($row=mysql\u fetch\u assoc($result)){

mysql_query(“从day_创建的财产中删除假设您的第一个查询返回一个结果,那么这应该可以工作:

DELETE p 
FROM possessions p
    INNER JOIN goods_meta_data gmd ON p.good_id = gmd.id
    INNER JOIN cities c ON c.name = 'St Charles'
WHERE p.day_created < c.day - gmd.durability 
删除p
来自p
p.good\u id=gmd.id上的内部连接商品\u元数据gmd
内部连接城市c在c上。名称='St Charles'
其中p.day_创建
您的第一个查询总是返回一个结果吗?是的,它总是返回一个结果。@user2581799--没问题--很高兴它有帮助:D干杯!