需要40秒才能在瀏覽器上顯示數據,這是不可接受的。提高SELECT查詢速度?
下面的代碼,它顯示所有從category.takeawayID = xxxxx和項目和選項表中循環。
類別表:超過15,000行總
項目表:超過10萬行
item_options表:超過15萬行。
如何提高性能?
$qcat = mysql_query("select * from categories where takeawayID=55276");
while($c_row = mysql_fetch_assoc($qcat))
{
echo "<h2>" . $c_row['name'] . "</h2>";
echo "<div>" . $c_row['description'] . "</div><br /> <br />";
$qitem = mysql_query("select * from items where category_id =". $c_row['id']);
while($i_row = mysql_fetch_assoc($qitem)) {
echo "<div style='backround-color:pink'>" . $i_row['name'] . "</div>";
$qoption = mysql_query("select * from item_options where item_id =". $i_row['id']);
while($o_row = mysql_fetch_assoc($qoption)) {
echo " (" . $o_row['price'] . ") ";
}
}
}
最高記錄200到500行之間顯示取決於takeawayID ID
他們可以在單查詢轉換容易 – 2011-04-08 10:29:27
多少記錄被顯示? – SergeS 2011-04-08 10:30:05
@SergeS,共445個 – user622378 2011-04-08 10:33:24