0
我根據博客上的許多教程和在stackoverflow上的答案進行了以下查詢。MySQL:簡化複雜的查詢
$query = mysql_query("SELECT COUNT(user_id) FROM $table f1".
"WHERE (user_id = '$userA')".
"AND EXISTS (SELECT 1 FROM $table f2 WHERE user_id = '$userB'"
"AND f1.$field = f2.$field)")
or die(mysql_error());
while($row = mysql_fetch_array($query)){
$com = $row['COUNT(user_id)'];
}
諸如userA,userB之類的參數是由4000個值的一維數組所取得的。但實際上,我使用循環內部的循環來製作一張4000x4000大小的表格。
由於數據庫中有很多數據,查詢總數爲17000.000。所以,我試圖執行完整的腳本,但我看到在上面的查詢花了很多秒(1或2)。
您有任何建議通過更正上述查詢來提高執行速度嗎?
OMG!現在真的很快! (每秒30次,而不是每秒1次) – zuperakos
@zuperakos子查詢在mysql中很少優化。儘可能避免使用它們。 – jordanm
非常感謝你們倆! – zuperakos