묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
Member_srl 회원가입 질문!!
2012.05.29 21:05
안녕하세요..
앱으로 회원가입시. xe에서 회원가입과 동일하게 하여 홈페이지에서도 로그인 할수 있게 처리하려고 합니다.
회원가입시 입력 받는 폼으로 정보를 db로 넘겨주기만 하면 되는데요...
다른 디비 컬럼은 이해가 되는데 Member_srl 과 list_order 과, user_name 값이 어떻게 생성되는지 궁금합니다.
여러번 회원가입하여.. 패턴을 파악하려 해보았지만.. 파악하지 못하였습니다.
list_order 의 값은 Member_srl* -1 인것 같고..
user_name 의 값은 Member_srl -1 의 값인것 같은데요..
Member_srl 의 값은 자동 증가 되는것도 아니고.. 증가되는 값이 4증가햇다가. 2증가 햇다가.. 뒤죽박죽으로 증가 됩니다.
어떤 것을 기준으로 증가 되는지.. 또는
어떤 값을 참고 하고 증가 되는지. 알려주세요.
댓글 3
-
송동우
2012.05.29 21:26
-
고이풀
2012.05.29 23:31
Member_srl 는 시퀀스 테이블에서 받아오는데요..
왜 2씩,3씩,4씩 증가하는가는...회원가입하면 Member_srl 번호 증가와 함께
point테이블의 시리얼도 증가합니다..거의 2씩 증가하게 되죠.
회원확장 모듈 설치되어 있으면 3씩 증가하기도 하고 그래요.
저도 고수가 아니라서.. 이것이 확실한지 모르겠으나 성탴ㅋ 님처럼 궁금해서 유심히 살펴보다가 추측해낸 생각입니다.
문제는 Member_srl 증가가 전체회원 쪽지보내기 등의 레코드 생성이 한꺼번에 되는 이벤트 발생시
엉청난 널뛰기 형태로 증가한다는데 있지요. 물론 시퀀스에서 자동으로 잡아주니까..그대로 사용할때는 문제없을수 있지만
혹여, 각가의 싸이트의 통합을 위해 회원 병합이나, 회원 정리 등으로 DB를 건드려야 할 경우 정말 조심해야 하죠.
관련된 포인트,게시글작성자 등이 매칭이 안되는 현상이 발생될수 있어 큰 혼선이 생길수 있는 개연성이 있습니다.
회원테이블 만큼은 독립되게 했으면 좋겠다는 제안을 개발팀에 몇번 해보았는데,
개발팀 자체에서도 토론이 많이 있었던 내용이라고 하면서 그냥 통합 레크드 번호로 가기로 했다고 하네요.
list_order 번호에 대해서는 Member_srl 증가값에 의해 부여된 번호의 회원이 중간에 삭제되거나
시퀀스 번호를 건드리거나 초기화 되었을때 중간 번호로 치고 들어가는 것을 방지하기 위해 추가 보완된 필드 입니다.
왜냐면..list_order 없었을때는 위와같은 상황에서 회원가입시 듀플리케이트(중복) 에러 멧세지를 계속 뿌려 댓거든요.
Member_srl 번호는 회원 2만명에 쪽지를 보내면 쪽지 테이블의 레코드가 2만개 생성되어
시퀀스 테이블에서 2만번 추가 계산됩니다. 다음 회원가입자의 Member_srl 번호는 2만번 증가해서 부여되죠.
회원이 적을때는 위험요소가 없다지만,
회원이 백만명 되었을때 백만명에 쪽지 보내면 다음 회원가입자의 Member_srl 번호는 100만번 증가해서 부여 되죠.
아이디 기준이 아니라 Member_srl 번호 기준으로 회원을 구분하기 때문에 은근히 불안하게 생각될수도 있습니다.
그래서 저는 Member_srl 번호를 독립해서 부여될수 있게끔 수정할수 있는 방법을 찾고 있는 중입니다.
원하는 답변이 되었는지 모르겠네요.. -
고이풀
2012.05.29 23:40
묻고 답하기 게시판은 한번 댓글 달면 수정기능이 없네요.
위에 답변한 내용에 오타 많이 발생했는데, 수정할수 없으니 잘 해석 하셔서 참고하셔요.
xe_sequence 테이블에서 값을 받아옵니다.
member_srl 뿐만 아니라
문서번호, 모듈번호 등등등 모든 번호를 받아옵니다.
그래서 번호가 증가하면서 여기저기 사용되기 때문에 순차적이지 않는 것처럼 보입니다.