From 3b8440940f0062e79be0650775740ceffffb22fc Mon Sep 17 00:00:00 2001 From: Philippe Marschall Date: Fri, 10 Sep 2021 16:56:44 +0200 Subject: [PATCH] Simplify GET_LAST_STEP_EXECUTION Simplify JdbcStepExecutionDao#GET_LAST_STEP_EXECUTION to use an equi-join instead of an cartesian join and a subselect. --- .../batch/core/repository/dao/JdbcStepExecutionDao.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) 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 41b2948a5e..fb945f5283 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 @@ -95,11 +95,9 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement "SE.WRITE_SKIP_COUNT, SE.PROCESS_SKIP_COUNT, SE.ROLLBACK_COUNT, SE.LAST_UPDATED, SE.VERSION," + " JE.JOB_EXECUTION_ID, JE.START_TIME, JE.END_TIME, JE.STATUS, JE.EXIT_CODE, JE.EXIT_MESSAGE, " + "JE.CREATE_TIME, JE.LAST_UPDATED, JE.VERSION" + - " from %PREFIX%JOB_EXECUTION JE, %PREFIX%STEP_EXECUTION SE" + - " where " + - " SE.JOB_EXECUTION_ID in (SELECT JOB_EXECUTION_ID from %PREFIX%JOB_EXECUTION " + - "where JOB_INSTANCE_ID = ?)" + - " and SE.JOB_EXECUTION_ID = JE.JOB_EXECUTION_ID " + + " from %PREFIX%JOB_EXECUTION JE join %PREFIX%STEP_EXECUTION SE" + + " on SE.JOB_EXECUTION_ID = JE.JOB_EXECUTION_ID " + + "where JE.JOB_INSTANCE_ID = ?" + " and SE.STEP_NAME = ?" + " order by SE.START_TIME desc, SE.STEP_EXECUTION_ID desc";