Performance PHP
-
Hallo Leute, könnt ihr mir sagen, welche der beiden technickens schneller ist?
1: ein SQL - Query pro Array - Element
2: ein grosses SQL - Query mit einer Bedingung pro Array - Elementforeach($arrID as $curID){ $sqlVal = 'SELECT COUNT(*) FROM '.$tbl.' WHERE '.$key.' = '.$curID; if($usrID) $sqlVal .= ' AND Usr_ID = '.$usrID; if(!mysql_result(mysql_query($sqlVal,$hDB),0,0)) return SMS_CORRUPTED; }
$arrCnd = Array(); foreach($arrID as $curID) $arrCnd[] = '('.$key.' = '.$curID.($usrID ? ' AND Usr_ID = '.$usrID : '').')'; $sql = 'SELECT COUNT(*) FROM '.$tbl.' WHERE '.implode(' OR ',$arrCnd); $qry = mysql_query($sqlVal,$hDB); if(mysql_result($qry,0,0) != sizeof($arrID)) return SMS_CORRUPTED;
Danke vielmals Janus
-
1 query ist natürlich besser als 100
-
Sie es einfach so. Sämtliche Sachen die du selber ini PHP konstruierst müssen erst durchgeparst und interpretiert werden während ein einzelner PHP-(oder in dem Falle eher SQL-) Befehl in Maschinencode vorliegt und einfach ausgeführt wird..
-
Ist beides schlecht.
Stellt dir mal vor wie groß der query wird wenn du viele USer hast.
Ein Query ist Limitiert.Du solltest eher überlegen ob man die Daten nicht anderes bekommt.