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

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

많은 도움 받고 있습니다.

감사합니다.




포인트 충전 및 사용시 제가 생각한 방법은 두가지 있습니다.


첫번째 방법

1. 포인트 충전시 유저테이블 point필드 update

 - insert into users(userid, point)

   values(1, 1000)

2. 포인트 사용(차감)시 유저테이블 point 필드 update

 - update users

   set point = (point - 100)

   where userid = 1


- 현재 유저가 사용할수 있는지 판단은 select

 select @point = point

 from users

 where userid = 1

if(@point < 100)

 return 포인트가 부족합니다.



두번째 방법

1. 포인트 충전시 포인트 충전 테이블 insert

 - insert into pointcharge(userid, point)

   values(1, 1000)


2. 포인트 사용(차감)시 포인트 사용 테이블 insert(2번 사용(차감)했음)

 - insert into usepoint(userid, point)

   values(1, 100)

 - insert into usepoint(userid, point)

   values(1, 100)


select @chargepoint = sum(point)
from pointcharge
where userid = 1

select @usepoint = sum(point)
from usepoint
where userid = 1

set @remainpoint = (@chargepoint - @usepoint)

if(@remainpoint < 100)
 return 포인트가 부족합니다.


첫번째 방법이 더 직관적이여서 사용중 입니다.

users테이블을 자주사용하는지라 두번째 방법을 생각해본건데

성능향상에 도움이 될런지요

혹시 두번째 방법으로 했을때 더 이점이 있는지요(장단점)

감사합니다.



No. Subject Author Date Views
9269 응급모드 관련 문의 [1] rollback 2016.04.07 3124
9268 access 쿼리 질문!! [4] Blue2 2016.04.07 2210
9267 완전 초보입니다. UPDATE 질문입니다. [3] 떠벙이 2016.04.07 2289
9266 tempdb 용량이 줄어들지 않습니다 [1] 조굴 2016.04.06 2258
9265 SQL2012 복구관련 질문입니다! [1] 마스터를위하여 2016.04.05 2371
9264 최근 답변글 표시하기..? [4] 헨씀히포 2016.04.04 2061
9263 Create Table 하면서 제약조건명을... [4] rollback 2016.04.04 2240
9262 이런식으로 값을 가져올수있을까요?! [1] Blue2 2016.04.04 2163
» 포인트 충전 및 사용시 방법문의 드립니다. [3] 후오로 2016.04.02 2558
9260 T-SQL 과 jdbc [1] 그러던가 2016.04.01 2115
9259 CPU 과점유 상태 분석에 대한 문의 [6] dontcryme 2016.03.31 3091
9258 특정 칼럼에 여러개의 값을 받을때의 질문입니다. [6] karyaladin 2016.03.31 2052
9257 MSSQL 쿼리문 검색을 통하여 엑셀파일 첨부하여 메일링 보내는 프로시저 [질문] 곰요 2016.03.30 3050
9256 특정기간 동안 월, 시작일, 종료일을 가지고 오고 싶은데요. [3] DOOLLY 2016.03.30 3482
9255 REPLACE 의 INTO 구문이 잘못되었다고는 하는데 오류좀 찾아 주세요. [4] 니가사와맥주 2016.03.29 2383
9254 sqlserver.exe 서비스가 2개가 실행되는 현상 [1] 생초보 2016.03.29 2204
9253 복제.. 게시 구독에서.. 게시 테이블 변경시 괜찮을까요? 공유맨 2016.03.28 2290
9252 두 테이블 합치기 [4] Blue2 2016.03.28 3336
9251 다중값 처리를 어떻게 해야 하나요? [4] 꼽냐™ 2016.03.27 7082
9250 문이 완료되기 전에 최대 재귀 횟수(100)가 초과되었습니다. [3] 성시기 2016.03.25 7684





XE Login