V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JasonLaw
V2EX  ›  程序员

如何 debug Spring Data JPA 慢 SQL?

  •  
  •   JasonLaw · 160 天前 via iPhone · 629 次点击
    这是一个创建于 160 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我有一个 Spring Boot 项目,使用 Spring Data JPA ,使用的数据库是 Oracle 。

    其中有一个方法是根据条件批量获取 1000 条数据,使用的是 native query ,其 SQL 是 select * from table where id > :id and exchange in :exchangeCodes and maturity >= :maturity order by id fetch first 1000 rows only 。

    但是这个 repository 方法有时候挺快的,大概 2 秒左右,不过大部分时间都是很久,要两分钟左右,甚至更久。但我试过直接用 Oracle SQL Developer 多次执行同样的 SQL ,基本是差不多 2 秒左右,除了有时候的第一次,会到 10 多秒左右。

    我怀疑是网络传输的问题,但我根本没有方法知道时间到底花在了哪里,是数据库执行呢,还是数据的传输?有什么工具可以帮助我找到慢的根本原因吗?
    1 条回复
    bigfei
        1
    bigfei  
       160 天前 via Android
    怀疑是 fetch 1000rows 的问题,看看去掉这个有没有解决问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1139 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:44 · PVG 02:44 · LAX 10:44 · JFK 13:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.