From 8e016a7f9f0d345d4f98f0e09730e29c4953ac50 Mon Sep 17 00:00:00 2001 From: Maxim Cheban Date: Tue, 24 Dec 2019 16:21:57 +0300 Subject: [PATCH] Improve performance in JdbcStepExecutionDao Optimize SQL in GET_LAST_STEP_EXECUTION to work fast on large amount of records in %PREFIX%JOB_EXECUTION table --- .../batch/core/repository/dao/JdbcStepExecutionDao.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java index cc268adc6b..3777f513d1 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java @@ -97,7 +97,7 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement " from %PREFIX%JOB_EXECUTION JE, %PREFIX%STEP_EXECUTION SE" + " where " + " SE.JOB_EXECUTION_ID in (SELECT JOB_EXECUTION_ID from %PREFIX%JOB_EXECUTION " + - "where JE.JOB_INSTANCE_ID = ?)" + + "where JOB_INSTANCE_ID = ?)" + " and SE.JOB_EXECUTION_ID = JE.JOB_EXECUTION_ID " + " and SE.STEP_NAME = ?" + " order by SE.START_TIME desc, SE.STEP_EXECUTION_ID desc";