0
我有这段可爱的代码复制出不同的行数,因此我可以创建一个关于每个公民拥有多少人的关联列表。优化MySQL操作以获得计数
$citizen_id = 1;
$goods = array();
$goods_result = mysql_query("SELECT id,name FROM goods");
while(($goods_row = mysql_fetch_assoc($goods_result))) {
$good_id = $goods_row['id'];
$query = "SELECT count(*) FROM possessions where citizen_id=$citizen_id and good_id=$good_id";
$possessed_result = mysql_query($query);
$possessed_row = mysql_fetch_row($possessed_result);
if($possessed_row) {
$possessed = $possessed_row[0];
$goods[$goods_row['name']] = $possessed;
}
}
echo json_encode ($goods);
它可以工作,但运行速度太慢。在我看来,必须有办法让MySQL建立一个计数表并在单个查询中将其返回给我,但我不知道如何确定如何执行该操作。有关如何使此操作更快的任何想法?
真棒。这正是我需要的。 – Luke