小测了一下:<?php for($c=0; $c<10000; $c++) $UID[]=rand(0, 744462416); //本来写的100万,结果Allowed memory size of ... $UID = join(",", $UID);//方法一: $t = mysql_query("SELECT school_id FROM users WHERE id IN ($UID)"); while($r = mysql_fetch_array($t)) $SID[]=$r['school_id']; $SID = join(",", $SID); $r = mysql_query("SELECT name FROM school WHERE id IN ($SID)");//方法二: $r = mysql_query("SELECT s.name FROM users AS u, school AS s WHERE u.id IN ($UID) && u.school_id = s.id"); ?>耗时: 0.295159 0.025118
for($c=0; $c<10000; $c++) $UID[]=rand(0, 744462416); //本来写的100万,结果Allowed memory size of ...
$UID = join(",", $UID);//方法一:
$t = mysql_query("SELECT school_id FROM users WHERE id IN ($UID)");
while($r = mysql_fetch_array($t)) $SID[]=$r['school_id'];
$SID = join(",", $SID);
$r = mysql_query("SELECT name FROM school WHERE id IN ($SID)");//方法二:
$r = mysql_query("SELECT s.name
FROM users AS u,
school AS s
WHERE u.id IN ($UID)
&& u.school_id = s.id");
?>耗时:
0.295159
0.025118
left join也要看你用没有用到索引