스키마정의테이블에서 다수의 테이블에서 효율적인 검색 방법이 있을까요?

현재 스키마 정의 테이블, 비동기 큐(BackendAsyncEnqueue)를 사용 중입니다.

친구 목록을 띄워야하는데, 개별 친구에 대한 다른 테이블의 정보도 같이 띄워야하는 상황입니다.

Backend.Social.Friend.GetFriendList로 친구들의 inDate를 받아와서
다른테이블에서 그걸 이용해 get을 해야 하는데,
뒤끝에 있는 정보로 보았을때는 inDate 한 개마다 한번의 검색만 가능한것 같은데 이것이 맞는지 궁금합니다.

  1. inDate를 묶어서 다른 테이블에서 대응되는 row들을 rows로 받아오는 방법이 있는지

  2. 없다면 친구가 20명이고, 20명 친구에 대한 정보표시를 위해서는 비동기 큐에 20개의 읽기 요청을 보내야하는데, 이 경우 20개 요청이 전부 완료가 되었을때 콜백할 수 있는 좋은 방법이 혹시 있는지 궁금합니다.

안녕하세요 개발자님

스키마 정의 테이블의 경우 where절을 이용한 값을 검색할 수 있지만,
말씀하신 친구 유저의 inDate 값을 이용하여 한번의 Get으로 해당 유저들의 테이블을 모두 가져오는 기능은 제공하고 있지 않습니다.

현재 where절은 and연산만 지원되기 때문에 그렇고, 추후 where절에서 or 연산도 지원할 예정입니다.
or 연산이 지원된다면 where 조건문에 유저의 inDate값을 or로 넣어서 한번의 get으로 해당 유저들의 테이블 정보를 가져올 수 있는 기능이 제공되게 될 것 입니다.

2번째로 질문하신 20명의 친구의 정보 표시를 위해 비동기큐에서 20개 모두 완료되었는지 확인하는 방법으로는
여러가지 방법이 있을 수 있지만,

  • 가장 단순하게는 uiProcess란 플래그를 만들어 마지막 요청에 해당 플래그를 true로 바꾸는 것으로 모든 요청이 완료되었는지 확인하는 방법
  • delegate 함수를 선언하여 마지막 요청의 콜백 함수 내에서 호출하는 방법
  • BackendReturnObject를 리턴값으로 가지는 임의의 함수를 선언하여 20개의 요청 뒤에 삽입하여 21번째 요청으로 해당 함수가 호출되면 여기서 요청이 전부 처리되었는지 처리하는 방법

등이 있습니다. 이외에도 개발자님께서 다양한 방법으로 처리를 하실 수 있으니 취향에 따라 적절한 방법을 사용하시면 될 것 같습니다.

감사합니다.

좋아요 1