From cafd35c95f8e776809e07b857ed5a45a88e0b91c 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 fef806150..d34f5bdc7 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 @@ -98,7 +98,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";