Meine Server-Datenbank dauerte zu lange, um zwei SQL-Abfragen durch separate Thread auszuführen. Ich mache so in PHP:Eine SQL-Abfrage anstelle von drei SQL-Abfragen
$First=mysql_query("SELECT `ID`,`Country` FROM `Users` WHERE `IP`='".$ip."'",$connection);
$row=mysql_fetch_assoc($First);
$id=$row['ID'];
$ucountry=$row['Country'];
$opt=mysql_query("SELECT Size,Paper,Zip FROM Tools WHERE (Users LIKE '%".$id."%') OR (Users LIKE '".$id."%') OR (Users LIKE '%".$id."') OR (Users LIKE '".$id."') OR (Users LIKE 'All users') OR (Country LIKE '".$ucountry."') OR (Country LIKE 'All countries')",$connection);
Wie in all dieses Zeug in Mysql zu tun, nur eine Abfrage?
Ich versuchte dies:
SELECT (SELECT `ID` FROM `Users` WHERE `IP`='xx.xx.xx.xx' ) AS UID, (SELECT `Country` FROM `Users` WHERE `IP`='xx.xx.xx.xx' ) AS UCountry, (SELECT Size,Paper,Zip FROM Tools WHERE (Users LIKE CONCAT('%#',UID,'#%')) OR (Users LIKE CONCAT('#',UID,'#%')) OR (Users LIKE CONCAT('%#',UID,'#')) OR (Users LIKE CONCAT('#',UID,'#')) OR (Users LIKE 'All users') OR (Country LIKE UCountry) OR (Country LIKE 'All countries'))
Indem Sie es eine Abfrage machen, werden Sie es nicht unbedingt schneller machen. Tatsächlich wird es oft langsamer. –
Warum '(Benutzer mögen '%". $ ID. "%') ODER (Benutzer wie '". $ ID. "%') ODER (Benutzer wie '%". $ ID. "') ODER (Benutzer wie ' ". $ id." ') ODER (Benutzer wie' Alle Benutzer ') '? –
Auch warum 'LIKE' für jeden Vergleich? '=' ist wahrscheinlich schneller. –