[SQL] DB2의 WITH UR

SONGB·2023년 7월 7일
0

SQL

목록 보기
3/13

나는 DB2를 다뤄본 적이 단 한 번도 없다.
내가 생각하는 stack?과 다른 tool이나 요구사항을 마주하게 되는 곳이 회사인 것 같다.

ㅇㅖ.. 밑밥 좀 깔아봤슴돠

대학생들도 흔하게 접하는 Oracle, MySQL, MariaDB만 경험해본 우물안 개구리에 불과하다.🐸
게다가 NoSQL도 다뤄본 적이 없으니 대학생보다 경험이 없을 수도...


내가 맡게 된 업무에서는 IBM의 DB2를 사용해 데이터베이스를 관리하고 있다.
요즘은 많이 사라지는 추세라지만 아직 이곳은 사용하고 있다.(그래서 내가 접해볼 생각조차 하지 않은 걸지도 모르겠다.)


하지만 늘 말하는 대로 나는 까라면 불만을 가져도 까는 스타일이다.
게다가 지금은 불만도 없다. 뭘 알아야 불만을 가지지..ㅇㅇ

그리고 어차피 모르는 게 한 두 가지가 아니기 때문에 한 가지쯤 더 추가돼도 달라지는 것이 없다고 생각한다.

굳이 말하자면 멍부와 멍게의 사이랄까?

벨로그를 적으면서 늘 기술에 대한 내용보다 내 얘기가 더 많은 듯하다.
내 얘기는 여기까지하고 지금부터는 찐 내용이다.


WITH UR

내가 조회하고자 하는 테이블에서 어떤 트랜잭션이 진행되고 있다면?

대기를 해야 한다. 한참을 바라만 보다가 커밋이나 롤백이 될 때 스리슬쩍 다가가 데이터를 가져올 수 있다.

근데 만약 WITH UR => Uncommitted Read 를 사용하게 된다면 실시간으로 트랜잭션이 진행중이건 말건 상관쓰지 않고 데이터를 쟁취할 수 있다.

하지만 문제점은 신뢰이다.


조회 : 님 나 데이터 긁어 가도 됨?

데이터 : 잠만, 나 치장 중

조회 : 아 몰랑~ 데려갈래

(몇 개는 변경 전, 몇 개는 변경 후)

조회 : 이 샛키 뭘 갖다준 거야
         원망, 분노, 수치심

이것이 바로 WITH UR


끝~!~!~!~!


SELECT SUM(MONEY) AS TOTAL_MON
	 , SUM(CNT) AS TOTAL_CNT
  FROM ( SELECT COUNT(*) AS DEAL_CNT
		   FROM DEAL
		  WHERE 1=1
		    AND YMD= #YMD#
		)
  WITH UR

ps. text_align:center; 먹였는데 적용 안 된다. 맴이 힘들다.

profile
⚽⚾데굴데굴 굴러가는 내 맘대로 벨로그🏀🏐

0개의 댓글