问题遇到的现象和发生背景
这个sql查询速度很慢,接近10s
问题相关代码,请勿粘贴截图
EXPLAIN SELECT
y.city_name,
y.employee_number,
y.last_name
FROM
sddp.report_month y
INNER JOIN sddp.report l ON y.`year_month` = "202101"
AND l.`year` = "2021"
AND y.job_zhuanye = l.job_zhuanye
AND y.job_zhize = l.job_zhize
AND l.job_name = '公众线'
AND y.person_type_name = '正式'
AND y.city_id IN (
SELECT
o2.org
FROM
dhr.g_org o1
INNER JOIN dhr.g_org o2 ON o2.leftnode >= o1.leftnode
AND o2.rightnode <= o1.rightnode
WHERE
o1.org_id IN ( 2222 )
)
AND NOT EXISTS ( SELECT 1 FROM sddp.report_not d WHERE d.`year` = "2021" AND d.employee_number = y.employee_number ) UNION ALL
SELECT
y.city_name,
y.employee_number,
y.last_name
FROM
sddp.report_month y
INNER JOIN sddp.report l ON y.`year_month` = "202101"
AND l.`year` = "2021"
AND y.job_zhuanye = l.job_zhuanye
AND l.job_name != '公众线'
AND y.person_type_name = '正式'
AND y.city_id IN (
SELECT
o2.org
FROM
dhr.g_org o1
INNER JOIN dhr.g_org o2 ON o2.leftnode >= o1.leftnode
AND o2.rightnode <= o1.rightnode
WHERE
o1.org_id IN ( 2222)
)
AND NOT EXISTS ( SELECT 1 FROM sddp.report_not d WHERE d.`year` = "2021" AND d.employee_number = y.employee_number )
LIMIT 0,10
运行结果及报错内容
explain 结果
查看索引