database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 4264 게시물 읽기
No. 4264
Update vs Delete + Insert
작성자
이용한(lyhdj001)
작성일
2008-06-11 17:44ⓒ
2008-06-12 14:33ⓜ
조회수
4,680

온라인 게임 디비에서 유저당 아이템의 정보를 처리하려고 합니다.

캐릭터 1개당 (아이템의 하나의 정보 14byte) * 128개 = 1792 byte

운영을 계속했을때 한 테이블에 쌓일 캐릭터 수는 10,000개 입니다.

테이블은 복수개

동시접속 3000명의 정보를 5분당 1번씩 디비에 갱신, 접속종료시 정보 갱신 

디비서버와 분리되어 있습니다.



<테이블구조>

키는 없음
인덱스 : a

a b c d



데이타를 디비에 저장할때

1. [업데이트 문으로 목록을 수정] 하는것과 (테이블이 변경될수 있음)
 -> 바이너리데이타로 한컬럼을 사용하기때문에(최대크기를 설정합니다.가변아님)...
      미세하지만 데이타용량의 낭비가 생길수 있습니다. => 모든 최대 128개의 정보를 다 가진 유저가 있을수 있고 아닌 유저도 있을수 있으므로.

2. [해당캐릭가 가진 아이템정보를 모두 삭제후 모두 새롭게 삽입]을 이용하는것과의 속도차이 얼마나 날까요? 
 -> 인덱스를 재 구성이 되어야 하므로 시간이 걸리것 같음.
 -> 삽입시에도 인덱스 검색을 최대 128번을 할수 있을것 같음.

어떤방식이 더 효율적일지 궁금합니다.


P.S : 회사에 DBA가 없어서 서버프로그래머가 커버를 해야 하는 상황이라, DB관련해서는 초보인 저에게 고수님들의 상세한 조언 부탁드립니다. ^^

이 글에 대한 댓글이 총 1건 있습니다.

흠.. 
데이터 저장의 Achitecture를 공부하십시오.
간단하게 1, 2의 선답은 오히려 해가 될듯합니다. 

이유를 간단히 달아 놓는 것도 퍽이나 위험합니다. 
달아서 index의 achitecture또한 공부하시는 쪽으로 답을 드리고 싶습니다.

.님이 2008-06-12 09:58에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4268다른 DB에 Table 만들수 있나요? [1]
작은소망
2008-06-12
4231
4267통계테이블 구조를 보통 어떤식으로 만드는지. [1]
2008-06-12
4380
4265오라클 프로시져 -> ms-sql로 변경 하려고 합니다. [1]
민규
2008-06-11
5576
4264Update vs Delete + Insert [1]
이용한
2008-06-11
4680
4263서버와 DB명이 서로 다른 곳에 동시에 Insert방법????
이만실
2008-06-10
4312
4262MSSQL2005 미러링 환경에서 트랜젝션로그 삭제
김재근
2008-06-10
5438
4261초보 DBA입니다. 책 추천 좀 해주세요^^ [1]
전순호
2008-06-09
4195
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다