문제
•
초기 알림 생성 로직에서는 반복문을 통해 모든 데이터를 가져온 후 필요한 데이터를 필터링하여 사용했습니다.
•
그러나 이 방식은 데이터가 많아질수록 처리속도가 크게 저하되었습니다.
•
불필요하게 전체 데이터를 가져오는 방식은 메모리와 처리 시간을 낭비하게 만들며, 규모가 커질수록 이러한 문제는 더욱 심각해지는 것을 확인했습니다.
해결 방법
•
이러한 비효율성을 개선하기 위해 where 조건절을 사용하여 필요한 데이터만 직접 조회하도록 코드를 수정하였습니다.
•
수정 후, 약 6만 개의 구독 중 1만 개의 알림을 보내야 하는 상황을 테스트했습니다.
•
반복문의 경우에는 5분 30초가 소요되었고, where 조건절을 사용한 경우에는 2분 53초가 소요되었습니다.
•
테스트를 통해 데이터 조회 시 where 조건절을 사용하여 필요한 정보만 검색하는 방식이 데이터 검색의 효율성을 크게 높일 수 있음을 알게 되었습니다.