많은 도움 받고 있습니다.

감사합니다.




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


첫번째 방법

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
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 36259
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 18855
9263 Create Table 하면서 제약조건명을... [4] rollback 2016.04.04 2279
9262 이런식으로 값을 가져올수있을까요?! [1] Blue2 2016.04.04 2223
» 포인트 충전 및 사용시 방법문의 드립니다. [3] 후오로 2016.04.02 2673
9260 T-SQL 과 jdbc [1] 그러던가 2016.04.01 2166
9259 CPU 과점유 상태 분석에 대한 문의 [6] dontcryme 2016.03.31 3177
9258 특정 칼럼에 여러개의 값을 받을때의 질문입니다. [6] karyaladin 2016.03.31 2127
9257 MSSQL 쿼리문 검색을 통하여 엑셀파일 첨부하여 메일링 보내는 프로시저 [질문] 곰요 2016.03.30 3158
9256 특정기간 동안 월, 시작일, 종료일을 가지고 오고 싶은데요. [3] DOOLLY 2016.03.30 3571
9255 REPLACE 의 INTO 구문이 잘못되었다고는 하는데 오류좀 찾아 주세요. [4] 니가사와맥주 2016.03.29 2549
9254 sqlserver.exe 서비스가 2개가 실행되는 현상 [1] 생초보 2016.03.29 2261
9253 복제.. 게시 구독에서.. 게시 테이블 변경시 괜찮을까요? 공유맨 2016.03.28 2335
9252 두 테이블 합치기 [4] Blue2 2016.03.28 3428
9251 다중값 처리를 어떻게 해야 하나요? [4] 꼽냐™ 2016.03.27 9278
9250 문이 완료되기 전에 최대 재귀 횟수(100)가 초과되었습니다. [3] 성시기 2016.03.25 9172
9249 펑션함수내에서 when case문제..? [6] 문상연 2016.03.24 2422
9248 테이블결과 값을 리스트형태로 출력할 수 있을까요??? [1] SQL어렵.. 2016.03.24 2238
9247 JOB이 멈춰서 KILL 했는데도 무응답.. 무슨상태일까요? [4] DoubleSH 2016.03.24 2981
9246 2005 -> 2014 업그레이드 관련 질문 [1] rollback 2016.03.24 2142
9245 OPENQUERY 변수이용 방법을 알고 싶습니다. [3] 아싸라비아콜롬비아 2016.03.22 5510
9244 두개의 테이블 비교 [2] DOOLLY 2016.03.22 2326





XE Login