마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

서버와 통신간 서버에 있는 db의 sequence id 관리

0 추천
안녕하세요. webserver와 통신하는 android app을 개발하고 있습니다.

Android app에서 저장 혹은 관리되는 데이터는 서버의 db에 저장되고 있습니다.

여러 정보를 저장하다보니 이간에 서버의 db의 table간 연결이 되고 sequence id(seq)를 통해  참조 되고 있습니다.

이에 질문은

1. 새로운 table에 데이터가 저장 될 경우마다 발생되는 seq를 android app에서 받아 관리를 한뒤

   해당 서버 db table에 data저장 시 마다 app에서 해당 db table의 seq를 지정(즉, 서버 요청 메시지에 해당하는 seq를 같이 보낸다)하는 것이 효율 적인지? 혹은

   서버에서 해당 seq에 대해 android devie uuid(duid)를 mapping 시켜둔 후 해당 디바이스의

   duide를 통해 seq를 판단하는 것이 효율적인지 질문 드립니다.

 

즉,

1. Server의 db table 의 seq를 app에서 관리

2. Server의 db table의 seq를 서버에서 관리

 

어떤 점이 더 효율적인지 질문 드립니다
안녕하세요 님이 2017년 8월 19일 질문

2개의 답변

0 추천
음...뭘해도 상관 없을듯 하나.

app에서 관리한다고 가정할때 누군가 요청url 패킷을 분석해서 다른 seq로 보낼수 있으니 검증하는 코드가 들어가야 할 듯 하네요
익명사용자 님이 2017년 8월 21일 답변
0 추천
Sequence가 키라면 검색 속도가 빠르겠죠. UDID도 Indexing하면 빠르겠지만, 그렇게되면, Insertion시 느려지니까요.

그러나 앞서 말한 분처럼, Where절에서 UDID는 넣어서, 해당 유저가 아닌 사람이 검색하지 못하게 할 수는 있겠죠.

일단 Sequence로 검색속도는 빠를 것이고, UDID는 그렇게 해서 Filtering된 데이터에서만 비교하니까, 그게 Indexing이 안된 필드 비교보다는 빠를 겁니다. 간단하게 쿼리 속도 테스트 해보시면 되겠죠.
Will Kim (43,170 포인트) 님이 2017년 8월 22일 답변
...