You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL含左连接与过滤的查询执行计划差异疑问

关于MySQL左连接执行计划的疑问

我编写了一条SQL查询,用于获取所有电影信息,若某部电影有Brad Pitt参演,则显示其姓名。查询语句如下:

select m.title,  p_cast.person_name 
From movie m left join (
      movie_cast m_cast join person p_cast on m_cast.person_id = p_cast.person_id and 
      p_cast.person_name = 'Brad Pitt'
 ) on m.movie_id = m_cast.movie_id 

我预期MySQL Workbench的执行计划会显示数据库将movie表与movie_cast和person表的连接结果进行左连接,但实际计划显示的执行顺序不同:似乎先将movie与movie_cast连接,之后再与person连接并应用Brad Pitt的过滤条件。

若对执行计划的解读准确,我想了解左连接实际是在哪里实现的;若按该执行顺序,我原本预期会保留含其他演员的行,但实际并非如此。

请问该执行计划是否真实反映了数据库内部的执行流程(若属实,如何理解该执行流程),还是存在显示或解读错误?


内容的提问来源于stack exchange,提问作者Sérgio Mergen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 10:54:52