是否内部优化了LIMIT的MySQL JOIN?

时间:2012-03-01 20:07:21

标签: mysql join query-optimization

communityid: int, name: varchar。另一个表category_peoplecommunity_id: int, person_id: int。与LIMIT查询的JOIN可以是

SELECT b.user_id, group_concat(a.name SEPARATOR ',') as groups
FROM communities a
JOIN communities_users b
ON a.id = b.community_id
GROUP BY b.user_id
LIMIT 1000
OFFSET 2000;

在这个查询中,MySQL会执行任何内部优化吗?(a)执行限制,首先偏移部分并稍后加入,或者(b)在全表上执行连接然后获取限制,偏移窗口?

1 个答案:

答案 0 :(得分:3)

LIMIT Optimization上引用MySQL 5.6手册,似乎是(a):

“只要MySQL向客户端发送了所需的行数,它就会中止查询,除非您使用的是SQL_CALC_FOUND_ROWS。”