mysql慢sql问题修复

突发系统某定时任务一直未执行成功,一开始用几百条数据做测试发现无反应,后续改为1条数据发现仍无反应。
问题sql:

复制代码
select * from fnd_items_itf fii
        where fii.ID in
              (
                  select max(f.ID) from fnd_items_itf f
                  where FLAG_MESSAGE = #{flagMessage}
                    and FINISHED_FLAG = 'N'
                  group by f.INVENTORY_ITEM_ID, f.organization_id
              )

1条数据执行上述sql,运行时间大概10分钟左右。

优化后sql:

复制代码
SELECT
            *
        FROM
            fnd_items_itf fii
        WHERE
                fii.ID IN (
                SELECT
                    s.*
                FROM
                    (
                        SELECT
                            max( f.ID )
                        FROM
                            fnd_items_itf f
                        WHERE
                            f.FLAG_MESSAGE = #{flagMessage}
                          AND f.FINISHED_FLAG = 'N'
                        GROUP BY
                            f.INVENTORY_ITEM_ID,
                            f.organization_id
                    ) s
            )

group by和max函数均对fii.id 关联下推有 误导,导致mysql内核执行慢。

相关推荐
绵绵细雨中的乡音12 分钟前
MySQL 常用函数实操指南:从基础到实战案例
数据库·mysql
wudl55661 小时前
Flink SQL 与 Kafka 整合详细教程
sql·flink·kafka
凉栀お_1 小时前
MySQL相关知识查询表中内容(第二次作业)
数据库·mysql
Java水解1 小时前
【SQL】MySQL中空值处理COALESCE函数
后端·mysql
ss2731 小时前
手写Spring第7弹:Spring IoC容器深度解析:XML配置的完整指南
java·前端·数据库
PFinal社区_南丞2 小时前
PostgreSQL-10个鲜为人知的强大功能
数据库·后端
misty youth2 小时前
配置openguass 教程(自存)
数据库·ubuntu·华为·openguass
shuair3 小时前
mysql8支持远程访问 -mysql5.7支持远程访问
linux·mysql
瑞士卷@3 小时前
MyBatis入门到精通(Mybatis学习笔记)
java·数据库·后端·mybatis
白云偷星子3 小时前
MySQL笔记13
数据库·笔记·mysql