2011-09-13 8 views
8

LEFT JOINの前にMySQLでLIMITを適用できますか?例えば

SELECT * FROM table_1 LIMIT 5 
LEFT JOIN table_2 AS table_1.id = table_2.id 
WHERE 1 

は、そうでない場合、エンジンは、(大規模なテーブルを用いて)大規模なクエリを遅くすることができる制限次に、参加適用する前のtable_1のすべてを取ります。

答えて

15

実際のテーブルではなく、サブクエリで結合することで実行できます。このようなものはうまくいくはずです:

SELECT * FROM 
    (SELECT * FROM table_1 LIMIT 5) as subq 
    LEFT JOIN table_2 AS subq.id = table_2.id WHERE 1 
関連する問題