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

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 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
9272 가로를 세로 데이터로 [6] 사이비 2016.04.11 4010
9271 단순 서브쿼리 질문입니다. [2] 잎세 2016.04.09 2583
9270 유저가 행 정렬을 마음대로 바꿀 수 있게하려면.. [2] 솜이불 2016.04.07 2558
9269 응급모드 관련 문의 [1] rollback 2016.04.07 3107
9268 access 쿼리 질문!! [4] Blue2 2016.04.07 2204
9267 완전 초보입니다. UPDATE 질문입니다. [3] 떠벙이 2016.04.07 2287
9266 tempdb 용량이 줄어들지 않습니다 [1] 조굴 2016.04.06 2255
9265 SQL2012 복구관련 질문입니다! [1] 마스터를위하여 2016.04.05 2365
9264 최근 답변글 표시하기..? [4] 헨씀히포 2016.04.04 2058
9263 Create Table 하면서 제약조건명을... [4] rollback 2016.04.04 2234
9262 이런식으로 값을 가져올수있을까요?! [1] Blue2 2016.04.04 2162
» 포인트 충전 및 사용시 방법문의 드립니다. [3] 후오로 2016.04.02 2491
9260 T-SQL 과 jdbc [1] 그러던가 2016.04.01 2114
9259 CPU 과점유 상태 분석에 대한 문의 [6] dontcryme 2016.03.31 3080
9258 특정 칼럼에 여러개의 값을 받을때의 질문입니다. [6] karyaladin 2016.03.31 2032
9257 MSSQL 쿼리문 검색을 통하여 엑셀파일 첨부하여 메일링 보내는 프로시저 [질문] 곰요 2016.03.30 3037
9256 특정기간 동안 월, 시작일, 종료일을 가지고 오고 싶은데요. [3] DOOLLY 2016.03.30 3477
9255 REPLACE 의 INTO 구문이 잘못되었다고는 하는데 오류좀 찾아 주세요. [4] 니가사와맥주 2016.03.29 2351
9254 sqlserver.exe 서비스가 2개가 실행되는 현상 [1] 생초보 2016.03.29 2202
9253 복제.. 게시 구독에서.. 게시 테이블 변경시 괜찮을까요? 공유맨 2016.03.28 2286





XE Login