온라인 게임 디비에서 유저당 아이템의 정보를 처리하려고 합니다.
캐릭터 1개당 (아이템의 하나의 정보 14byte) * 128개 = 1792 byte
운영을 계속했을때 한 테이블에 쌓일 캐릭터 수는 10,000개 입니다.
테이블은 복수개
동시접속 3000명의 정보를 5분당 1번씩 디비에 갱신, 접속종료시 정보 갱신
디비서버와 분리되어 있습니다.
<테이블구조>
키는 없음
인덱스 : a
데이타를 디비에 저장할때
1. [업데이트 문으로 목록을 수정] 하는것과 (테이블이 변경될수 있음)
-> 바이너리데이타로 한컬럼을 사용하기때문에(최대크기를 설정합니다.가변아님)...
미세하지만 데이타용량의 낭비가 생길수 있습니다. => 모든 최대 128개의 정보를 다 가진 유저가 있을수 있고 아닌 유저도 있을수 있으므로.
2. [해당캐릭가 가진 아이템정보를 모두 삭제후 모두 새롭게 삽입]을 이용하는것과의 속도차이 얼마나 날까요?
-> 인덱스를 재 구성이 되어야 하므로 시간이 걸리것 같음.
-> 삽입시에도 인덱스 검색을 최대 128번을 할수 있을것 같음.
어떤방식이 더 효율적일지 궁금합니다.
P.S : 회사에 DBA가 없어서 서버프로그래머가 커버를 해야 하는 상황이라, DB관련해서는 초보인 저에게 고수님들의 상세한 조언 부탁드립니다. ^^
|