你可以在LEFT JOIN另一个之前在MySQL上应用LIMIT吗?

时间:2011-09-13 16:43:28

标签: mysql mysql-management

例如:

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

否则引擎会在应用连接之前获取所有table_1,然后限制哪些可以大大减慢查询速度(使用大量表)。

1 个答案:

答案 0 :(得分:20)

您可以通过加入子查询而不是实际表来实现。这样的事情应该有效:

SELECT * FROM
    (SELECT * FROM table_1 LIMIT 5) as subq
    LEFT JOIN table_2 ON subq.id = table_2.id WHERE 1