집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 이벤트는 어떻게 이전 행 삭제의 효율성과 확장성을 향상시킬 수 있습니까?
롤링 잘림을 사용하여 오래된 MySQL 행을 효율적으로 삭제
많은 애플리케이션에서는 지정된 기간보다 오래된 행을 주기적으로 제거해야 합니다. 트래픽이 많은 테이블을 처리할 때는 이를 위한 효율적인 방법을 찾는 것이 중요합니다.
현재 접근 방식
이전에는 cron 작업 실행을 사용하여 하나의 대규모 배치로 테이블을 잘랐습니다. 매시간. 이를 통해 애플리케이션이 중단되는 것을 방지했지만 쓰기 트래픽이 많은 기간 동안 확장성이 제한되었습니다.
대안: 예약된 이벤트
현재 방법의 대안은 MySQL의 이벤트를 활용하는 것입니다. 특징. 이벤트를 사용하면 일정에 따라 데이터베이스 작업을 자동으로 실행할 수 있습니다.
롤링 잘림에 대한 예제 이벤트
다음은 ' tableName ' 테이블의 행을 삭제하는 샘플 이벤트입니다. 30일 이상 경과:
SET @@GLOBAL.event_scheduler = ON; CREATE EVENT AutoDeleteOldNotifications ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY ON COMPLETION PRESERVE DO DELETE LOW_PRIORITY FROM databaseName.tableName WHERE datetime < DATE_SUB(NOW(), INTERVAL 30 DAY);
사용 시 이점 이벤트
이벤트는 여러 가지 장점을 제공합니다.
위 내용은 MySQL 이벤트는 어떻게 이전 행 삭제의 효율성과 확장성을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!