mysql环境: mysql5.7
sql语句:
SELECT
a.id,
b.enterprise_name,
b.enterprise_internal_id enterprise_id,
a.year,
a.month,
concat(enterprise_name,b.enterprise_internal_id,execute_situation),
a.publisher
FROM dds_001_exercise_plan a
left join
(select a.enterprise_name,b.enterprise_internal_id,b.src_enterprise_id
from enterprise_basic_info a , sub_ent_ref_enterprise b where A.id=b.src_enterprise_id and b.sys_code='001') b on a.enterprise_id=b.src_enterprise_id
该sql 语句执行1000+秒都不出结果;
如果把sql语句中的left join 改为inner join ,那么21秒可以运行出结果;
其中表dds_001_exercise_plan 记录数为1000条;enterprise_basic_info 表记录数为 5w条 sub_ent_ref_enterprise 表数据为30w条
两个语句的执行计划如下:
请教各位大神,为何left join 比inner join 慢那么多??