status 자동 업데이트(nodejs OR mysql)

문린이·2022년 9월 29일
0

자동 업데이트 기능을 3가지 방법으로 구현하면서 최적의 방법으로 만든 글입니다.

1. forEach

  1. 먼저 new Date()를 사용하여 현재 시간을 구한다.

  2. 모든 리스트를 서비스단으로 가져오고 가져온 리스트의 forEach를 사용하여 date를 현재 시간과 비교하여 쿼리문을 반복하는 방법

최악의 방법이였다... 이것도 처음에는 for of 를 사용하여 만들었는데 너무 느려서 forEach로 바꿨는데 그나마 나아져서 괜찮다고 생각했었다... 오산이었다...

2. 로우 쿼리문

  1. 쿼리문의 case, when, then을 사용하여 리스트를 불러올때 먼저 update문을 실행하는 방식

forEach를 사용할때보다는 빨라졌지만 호출때마다 계속 update 문이 실행되는 비효율적인 방식이었다.

3. 이벤트 스케줄러

  1. 이벤트로 해당하는 쿼리문이 1분마다 실행되는 방식(테스트를 위해 1분으로 설정하였습니다.)

자동으로 update가 가능한 최고의 방식!!

profile
Software Developer

0개의 댓글