簡體   English   中英

將查詢數量從2減少到1

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM