데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요.

 

게임 쪽 DB 중 현재 PVP (1:1 대결) 관련 개발을 진행중입니다.

 

간단히 테이블을 설명드리면

arena_rank 라는 테이블에

유저의 Unique ID,  유저 개인 정보(이름 등),  점수,  도전 횟수, 승리 횟수가 있습니다.

 

이 테이블은 수시로 점수 UPDATE 및 신규 유저 INSERT가 발생하는 부분이구요,

점수 업데이트를 위해 유저 Unique ID에 PK를,  점수에 DESC 인덱스를 걸었습니다.

 

모든 유저의 랭크를 볼 수 있는 구조를 만들기 위해

1. 화면에 보이는 중복이 가능한  순위 (RANK)

2. 내부적 처리를 위한 ROWNUM ( 랭킹 리스트 스크롤링)

 

위 두가지가 추가로 필요합니다. (rownum 기준으로 위아래 스크롤링)

 

 

하지만 arena_rank 테이블의 컬럼으로 넣기에는 순위 변동등이 발생했을 때 문제가 발생하기 때문에 힘들구요

view 를 생성하여 유저 UniqueId,  score,   ROW_NUMBER() OVER (ORDER BY score DESC) AS rownum

의 컬럼으로 생성하였습니다.

순위는 score 컬럼에서 조회 요청오면 필요할때마다 계산하려고 합니다.


유저 row 가 백만건 이상이 저장된다고 할 때,  성능상의 문제는 없을까요? 

ROW_NUMBER, RANK 계산하는 비용이 무시 할 만한 수준인지가 궁금합니다.

 

어설프게 알다보니.. 돌아가게 만들 수는 있으나, 성능상 이슈 판단이 안되어 걱정이네요.

 DB쪽 선임도, 물어볼데도 없이 저 혼자 작업중입니다.

성능 관련하여 판단할 수 있는  TIP 같은게 있으면  조언 부탁드립니다..

 

 감사합니다

 

No. Subject Author Date Views
7671 오라클 DBLINK 가 되지 않습니다. 마스카포네 2014.03.11 4136
7670 초보질문인데요 오늘부터 6개월전 날짜구하는것 어떻게 해요? [1] neiyan 2014.03.11 6072
7669 ms sql 2012 사용중 일부 insert 가 늦게 들어옵니다. [1] 리더군 2014.03.11 3291
7668 쿼리 질문 [1] 빼고미다 2014.03.10 2599
7667 테이블 각 컬럼 INT형 데이터 더하기 [4] dcman 2014.03.10 7832
7666 GROUP BY시 min, max가 아닌값을 뽑을수 있나요? 처리짱 2014.03.10 3199
» Game DB의 랭킹 테이블 설계 관련 문의드립니다. 시에라 2014.03.10 5472
7664 MSSQL 2008 반응이 느릴때... [4] 랜덤의세계 2014.03.07 4542
7663 그룹 순번 만들기 [2] 네오워니 2014.03.07 3609
7662 Max degree of parallelism 옵션값 변경후 sql 실행 속도 저하 [2] Bluesyenuj 2014.03.07 3941
7661 대량 인서트시 속도 차이 [1] 어찌고사라 2014.03.06 4118
7660 sql2005 메일 계정 파일 첨부 부분 질문요. 휘바휘바 2014.03.06 2851
7659 중복되는 로우 중 하나만 셀렉트하기 [3] 킹멋쟁 2014.03.06 19817
7658 varchar을(를) numeric(으)로 변환하는 중 오류가 발생했습니다. 라고 할때 어떤 데이터가 나는지 .. [4] taz2315 2014.03.06 8205
7657 다른 데이터베이스 조인하는 방법이 가능한가요 ? [1] Aisp 2014.03.06 3401
7656 (재질문)두개의 테이블을 join 을 하는데 데이터 형식 varchar을(를) numeric(으)로 변환하는 중 오류가 발생했습니다. [3] taz2315 2014.03.05 3474
7655 쿼리 질문 드립니다~~ group by, order by 필드가 다른경우 [1] nowaday_ 2014.03.05 3031
7654 일일접속자수 기록을 남기고 싶습니다. [2] SE왕초보 2014.03.05 3781
7653 SQL 중지시켰을때 메시지~ 파파곰 2014.03.05 7234
7652 으.. 복잡해지니 머리가 아픕니다. 고수분들의 도움이 필요합니다. [6] Mr황 2014.03.04 2748





XE Login