我有一个打包为 JAR 文件的 Spring Batch 应用程序,如下所示
java -Xms2048m -Xmx2048m -Ddivision=25 -Ddate= -Denv=dv -Dconn=45 -jar demo-jobs*.jar job-definition.xml jobName -next
我想优化整体执行时间,所以我试图跟踪所有方法的平均执行时间。我正在使用 Java 飞行记录器。
我看到以下 Hibernate 方法执行率很高
这是什么意思?我如何优化这个?
这意味着大量时间花在运行 SQL 查询上,这在典型的 CRUD 应用程序中很常见。
Query.getResultList()
涉及select
查询和SessionImpl.executeUpdate()
涉及update
或delete
查询。
为了了解发生了什么,您必须找到执行了哪些查询。有很多方法可以做到这一点,但我最喜欢的两个是:
获得所有执行的 SQL 查询的详细信息后,您必须检查它是否与您的应用程序应该执行的操作一致。
可能出现的问题:
where
子句中使用的列上缺少索引(请注意,某些数据库上不会自动索引外键)本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句