api로 가져온값을 제 db랑 조회할때

api로 가져온값을 제 db랑 조회할때

QA

api로 가져온값을 제 db랑 조회할때

본문

안녕하세요

 

api를 통해서 핸드폰번호를 가져옵니다

 

그 핸드폰번호을 제 db에 있는 회원테이블이랑 매칭시켜 이름을 가져와서

 

총 이름/핸드폰을 출력시켜야하는데

 

api는 1번 호출하지만 값을 100개 가져오면

 

100개의 전화번호로 이름을 100번 쿼리돌려야해서 너무 렉걸리는데

 

다른방법은 없을까요?

이 질문에 댓글 쓰기 :

답변 6

핸드폰번호만 추출해서 문자열로 만들고 퀴리문에 IN 을 사용하면 한번만 하면 됩니다

아래와 같습니다

select * from tablename where hp IN('*** 개인정보보호를 위한 휴대폰번호 노출방지 ***','*** 개인정보보호를 위한 휴대폰번호 노출방지 ***', .............)

100개의 전화번호를 회원db와 매칭을 하는데 렉이걸리면.. 좀 이상하긴하네요

정말 db커넥션이 오래걸리는건지

비교루틴이 오래걸리는건지

api커넥션(요청/수신)이 오래걸리는건지 확인해보시는게 좋을것같구요

 

전화번호/휴대폰번호인 비교대상 컬럼에 index를 추가해보세요

 

api 를 수정하셔서 1개씩이아니라 배열로 한번에 Return 해주는 방식이라던지

파라미터로 요청한 갯수만큼 나오는 방식으로 수정해보는건 어떨까 합니다

api에서 핸드폰 번호만 가져오는지 아니면 다른 데이터도 가져오는건가요?

보유중인 DB와 중복되어 있는 정보중에 최소한 유일한 값을 도출하게 쿼리를 만드시고 결과값이 없다면

핸드폰번호만으로 한번더 쿼리를 하는방식도 있을것 같습니다.

핸드폰번호와 데이터(개인정보등)가 결합되어 있는지에따라서 정보를 다루는 방식도 달라질것 같습니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 113
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT