[英]Reducing the number of queries from 2 to 1
是否可以使用1個查詢而不是2個? 或者這種方式更好? (速度)
<?
$q1 = mysql_query("SELECT name,url,id FROM gallery") or die(mysql_error());
if (mysql_num_rows($q1) > 0) {
while ($row = mysql_fetch_array($q1)) {
echo 'IMAGES FROM '.$row['name'];
$id = $row['id'];
//second query for each gallery
$imgq = mysql_query("SELECT img FROM img WHERE ids=" . $id . " ") or die(mysql_error());
while ($img = mysql_fetch_array($imgq)) {
?><img src="<?=$img['img'];?>"><?
} //multiple images
}
}
您需要一個Join才能將其重新置於一個查詢中。
SELECT name,url,id,img
FROM gallery g
JOIN img i ON i.ids=g.id
這樣做效率更高,因為它減少了您正在進行的請求和表訪問次數。
它確實意味着你將帶回name,url,id
重復行name,url,id
但這種效果可能很小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.