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内核执行慢。

相关推荐
m0_555762907 分钟前
通过接口或抽象类进一步解耦
数据库·系统架构
dengjiayue1 小时前
golang 高性能的 MySQL 数据导出
开发语言·mysql·golang
SelectDB2 小时前
SelectDB 实时分析性能突出,宝舵成本锐减与性能显著提升的双赢之旅
大数据·数据库·数据分析
V+zmm101342 小时前
电器维修系统小程序+论文源码调试讲解
java·数据库·微信小程序·小程序·毕业设计
PawSQL2 小时前
推理模型对SQL理解能力的评测:DeepSeek r1、GPT-4o、Kimi k1.5和Claude 3.7 Sonnet
java·数据库·人工智能·sql·sql优化·pawsql·deepseek
*星星之火*2 小时前
【GPT入门】第12课 FunctionCall 生成数据库sql代码
数据库·sql·gpt
熙曦Sakura2 小时前
【MySQL】数据类型
android·mysql·adb
陈卓4102 小时前
Redis-缓存穿透&击穿&雪崩
数据库·redis·缓存
泡泡Java2 小时前
Redis离线安装(内网,源码安装)
数据库·redis·缓存
想做富婆2 小时前
存储过程和自定义函数在银行信贷业务中的应用(oracle)
数据库·存储过程·银行贷款业务