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

jdb*_*org 12 mysql mysql-management

例如:

SELECT * FROM table_1 LIMIT 5 
LEFT JOIN table_2 AS table_1.id = table_2.id 
WHERE 1
Run Code Online (Sandbox Code Playgroud)

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

Asa*_*aph 20

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

SELECT * FROM
    (SELECT * FROM table_1 LIMIT 5) as subq
    LEFT JOIN table_2 ON subq.id = table_2.id WHERE 1
Run Code Online (Sandbox Code Playgroud)