Piotr
Stanek
Programista PHP /
JS developer
Temat: zapytanie SQL które generuje duży ruch
hej.mam taki kawałek kody kóry pobiera listę tagów i zlicza ilosc tagów danej kolumnie sumuje i update ale tego juz jest kilka tys i pada.
moze ktoś umie to poskladać w 1 zapytanie SQL, powinno byc szybciej
$result=mysql_query( "SELECT * FROM tag ORDER BY `id` ASC ", $link );
$aRow = mysql_fetch_array($result);
while ( $aRow = mysql_fetch_array( $result ) )
{
// liczymy art
$result2=mysql_query( "SELECT Count(id) as ile FROM documents WHERE Tag LIKE '%".$aRow['Tag']."%'", $link );
$aRow2 = mysql_fetch_array($result2);
// liczymy porady
$result3=mysql_query( "SELECT Count(id) as ile FROM board WHERE Tag LIKE '%".$aRow['Tag']."%'", $link );
$aRow3 = mysql_fetch_array($result3);
// liczymy testy
$result4=mysql_query( "SELECT Count(id) as ile FROM base WHERE Tag LIKE '%".$aRow['Tag']."%'", $link );
$aRow4 = mysql_fetch_array($result4);
$licz_war = $aRow2['ile'] +$aRow3['ile']+$aRow4['ile'];
mysql_query("UPDATE tag SET Count = '".$licz_war."' WHERE Id = '".$aRow['Id']."';", $link );
}