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

相关推荐
DBA小马哥36 分钟前
MongoDB 数据同步怎么做?oplog、Change Streams、同步工具 4 种方案一次讲清(附踩坑清单)
数据库·mongodb
服务端相声演员1 小时前
in子查询的执行可能被优化为连接查询
mysql
香菜TTT2 小时前
Redis的哨兵机制
java·数据库·redis
风哥2号3 小时前
数据库教程FGMT13‑Oracle性能优化之数据仓库与分区表
数据库·oracle·性能优化
玉宇夕落3 小时前
Docker + Milvus,数据库永久存放记忆,让对话历史永不丢失
数据库·docker·llm
子非鱼a3 小时前
【WEB】[GXYCTF2019]BabySQli
sql
Zenova EdgeOS4 小时前
工业网关数据持久化:从同步到 WAL 的工程实战
网络·数据库·oracle
企查查数据服务4 小时前
全军禁入下客商准入风控,关联图谱与穿透核查
大数据·开发语言·数据库·php
冰帆<4 小时前
DBViewer — 把数据库工作台,安装进浏览器
数据库·数据可视化·数据同步
学Linux的语莫4 小时前
LangChain Prompts 提示词模板
数据库·人工智能·langchain