CREATE TABLE TB_BATCH_JOB_EXECUTION
(
    EXECUTION_ID VARCHAR(36)                          NOT NULL COMMENT '실행 ID (UUID) - 배치 작업 실행의 고유 식별자'
        PRIMARY KEY,
    JOB_NM     VARCHAR(200)                         NOT NULL COMMENT '작업 이름 - 실행된 배치 작업의 이름',
    JOB_GROUP    VARCHAR(200)                         NOT NULL COMMENT '작업 그룹 - 실행된 배치 작업의 그룹',
    START_DTTM   DATETIME                             NOT NULL COMMENT '시작 일시 - 배치 작업 실행 시작 시점',
    END_DTTM     DATETIME                             NULL COMMENT '종료 일시 - 배치 작업 실행 완료 시점 (실행 중이면 NULL)',
    STATUS_CD       VARCHAR(20)                          NOT NULL COMMENT '상태 (STARTED, COMPLETED, FAILED) - 현재 실행 상태',
    EXIT_CD    VARCHAR(20)                          NULL COMMENT '종료 코드 - 성공(COMPLETED) 또는 실패(FAILED) 구분',
    EXIT_MESSAGE TEXT                                 NULL COMMENT '종료 메시지 - 에러 발생 시 상세 메시지 또는 성공 메시지',
    REG_DTTM     DATETIME DEFAULT CURRENT_TIMESTAMP() NOT NULL COMMENT '등록 일시',
    SERVER_INFO  VARCHAR(1000)                        NULL COMMENT '실행서버 정보'
)
    COMMENT '배치 작업 실행 결과 저장 테이블 - 배치 작업의 실행 이력과 결과 추적';

CREATE INDEX IDX_BATCH_JOB_NM
    ON TB_BATCH_JOB_EXECUTION (JOB_NM)
    COMMENT '작업 이름 인덱스 - 작업별 조회 성능 향상';

CREATE INDEX IDX_BATCH_JOB_START_DTTM
    ON TB_BATCH_JOB_EXECUTION (START_DTTM)
    COMMENT '시작 시간 인덱스 - 시간별 조회 성능 향상';

CREATE INDEX IDX_BATCH_JOB_STATUS_CD
    ON TB_BATCH_JOB_EXECUTION (STATUS_CD)
    COMMENT '상태 인덱스 - 상태별 조회 성능 향상';

