此語句效率不高,因爲只有10個記錄中的一個被選中,並且只有100個條目中的1個包含註釋。具有嵌套SELECT的mysql語句 - 如何提高性能
我該怎麼做才能改善它?
$query = "SELECT
A,B,C,
(SELECT COUNT(*)
FROM comments
WHERE comments.nid = header_file.nid)
as my_comment_count
FROM header_file
Where A = 'admin' "
編輯:即使沒有發現評論我想要標題記錄。
看起來更乾淨但不確定是否有任何性能提升。我也想包括記錄,即使評論計數爲零。如果我在where子句中找到匹配項,我寧願挖掘註釋文件。 – ernie 2010-04-22 11:02:22
我使用'Left Join',所以你得到'header_file'的所有行,也是那些沒有評論的。您當前的解決方案確保僅爲在「Where」子句中匹配的標題讀取註釋。通過我的解決方案,優化器將決定哪種方式更好。 – 2010-04-22 11:32:37