Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 이벤트 일정 설정 방법: 일회성 이벤트와 반복 이벤트 완벽 가이드

MySQL에서 이벤트를 생성할 때는 실행 시점을 지정하는 ON SCHEDULE 절이 반드시 필요합니다. 일정을 지정해야 하는 MySQL 이벤트는 크게 두 가지 종류로 나눌 수 있습니다.

1. 일회성 이벤트(One-time Event)

일회성 이벤트란 특정 시점에 단 한 번만 실행되는 이벤트를 의미합니다. 예약된 작업을 한 번만 수행하고 자동으로 삭제되거나 만료되도록 할 때 유용합니다.

일회성 이벤트를 생성하려면 ON SCHEDULE 절 다음에 아래와 같은 문법을 사용합니다.

AT Timestamp[+INTERVAL]

예를 들어, 특정 날짜의 정확한 시각에 작업을 실행하려면 다음과 같이 작성할 수 있습니다.

AT '2024-12-31 23:59:59'

또한 현재 시간 기준으로 상대적인 시간을 지정하는 것도 가능합니다.

AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR

2. 반복 이벤트(Recurring Event)

반복 이벤트란 정해진 시간 간격마다 주기적으로 실행되는 이벤트를 의미합니다. 데이터 백업, 통계 집계, 로그 정리 등 주기적인 유지 관리 작업에 적합합니다.

반복 이벤트를 생성하려면 ON SCHEDULE 절 다음에 아래와 같은 문법을 사용합니다.

EVERY interval STARTS timestamp [+INTERVAL] ENDS timestamp [+INTERVAL]

여기서 각 요소의 의미는 다음과 같습니다.

  • EVERY interval: 이벤트가 실행될 반복 주기를 지정합니다. (예: EVERY 1 DAY, EVERY 30 MINUTE)
  • STARTS timestamp: 반복이 시작되는 시점을 지정하며, 생략 가능합니다.
  • ENDS timestamp: 반복이 종료되는 시점을 지정하며, 생략 시 무기한 반복됩니다.

다음은 매일 새벽 3시에 실행되고 1년 후 종료되는 반복 이벤트의 예시입니다.

EVERY 1 DAY STARTS '2024-01-01 03:00:00' ENDS '2025-01-01 03:00:00'

정리

MySQL 이벤트 스케줄링은 용도에 따라 선택하면 됩니다. 단 한 번만 실행할 작업이라면 AT 키워드로 일회성 이벤트를, 주기적으로 반복해야 하는 작업이라면 EVERY 키워드로 반복 이벤트를 생성하세요. STARTS와 ENDS 옵션을 활용하면 반복 구간을 세밀하게 제어할 수 있어 더욱 유연한 작업 관리가 가능합니다.