메신저 어플 처럼
처음 가입시 사용자주소록휴대폰번호로 DB에 회원이 있으면 자동친구 추가하는 기능을 구현했는데
휴대폰번호로 DB를 검색해서 일단 DB회원인지 하나하나 검사하는 로직때문에 시간을 많이 잡아먹는거 같은데
제 단말기로 테스트 해본 결과 8초가 걸리네요.. 주소록 약 600개정도 번호가 있는데 하
카톡이나 틱톡같은거 보면 주소록으로 친구 동기화하는데 1초?2초밖에 안걸리는거 같은데.. 어떻게 처리했을까요 딱히 효율적으로 할 수 있는 방법이 안떠오르네요 ㅠ
알고리즘 개선이 답 아닐까요.... 님 알고리즘은 어떻게 되이나요
시간 복잡도....
회선문제아님?
로직 개선할 방법 못찾겠으면 그냥 기존에 있는거 이용하는것도 좋아요. 디비 내용 불러와서 집합자료형에 밀어넣으면 알아서 중복검사해줌.
db 쿼리만 잘 수정해도 빠르게 나올듯함.
join 을 활용한 쿼리를 사용하는것을 추천
회선문제든지... 뭔가 처리하는데 오버헤드가 많이 발생한다든지... 비효율적인 알고리즘을 사용중이라든지...
단말기 내부 기기 번호들을 가져옴 -> DB에서 내 기존 친구목록번호들을 가져와서 윗분 말대로 집합자료형에 넣어서 중복제거 ->
선별된 폰번호들 for문돌면서 유효한폰번호(회원인지)인지 확인 -> 유효하면 Insert
각 단계별 소요시간이나 시간복잡도 생각해보셔서 어디가 문젠지 구체적으로 질문하시면 더 답변받으시기 쉬우실듯