Search

10-3-3. 데드 튜플 최소화 전략

-- [SQL-10-3-3-a] BEGIN; -- ACC1에서 500원 출금 UPDATE startdbpg.ms_acc t1 SET bal_amt = t1.bal_amt - 500 WHERE t1.acc_no = 'ACC1'; -- ACC2에 500원 입금 UPDATE startdbpg.ms_acc t1 SET bal_amt = t1.bal_amt + 500 WHERE t1.acc_no = 'ACC2'; -- ACC1에 이체 금액의 1%를 캐시백 UPDATE startdbpg.ms_acc t1 SET bal_amt = t1.bal_amt + 500 * 0.01 WHERE t1.acc_no = 'ACC1'; COMMIT;
SQL
복사
-- [SQL-10-3-3-b] BEGIN; -- ACC1에서 출금 (500원 - 5원 캐시백 = 495원) UPDATE startdbpg.ms_acc t1 SET bal_amt = t1.bal_amt - (500 - 500 * 0.01) WHERE t1.acc_no = 'ACC1'; -- ACC2에 500원 입금 UPDATE startdbpg.ms_acc t1 SET bal_amt = t1.bal_amt + 500 WHERE t1.acc_no = 'ACC2'; COMMIT;
SQL
복사
-- [SQL-10-3-3-c] BEGIN; UPDATE startdbpg.tr_ord_vac t1 SET ord_st = 'PKUP' WHERE t1.ord_no = 100; UPDATE startdbpg.tr_ord_vac t1 SET pay_tp = 'CARD' WHERE t1.ord_no = 100; UPDATE startdbpg.tr_ord_vac t1 SET ord_dtm = NOW() WHERE t1.ord_no = 100; COMMIT;
SQL
복사
-- [SQL-10-3-3-d] BEGIN; UPDATE startdbpg.tr_ord_vac t1 SET ord_st = 'PKUP' ,pay_tp = 'CARD' ,ord_dtm = NOW() WHERE t1.ord_no = 200; COMMIT;
SQL
복사