본문 바로가기 메뉴 바로가기

msna

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

msna

검색하기 폼
  • 분류 전체보기 (26)
    • leetcode medium (1)
    • leetcode easy (3)
    • IT (6)
    • today'work (13)
  • 방명록

PostgreSQL #FOR UPDATE #SKIP LOCKED (1)
PostgreSQL ROW LOCK걸기(FOR UPDATE, SKIP LOCKED)

아래와 같은 테이블 tbl_entry가 있을 때 id status assign 1 100 F 2 100 F 3 100 F 4 200 F 5 200 F 요청이 들어오면 assign = F인 id 오름차순 첫번째 레코드를 가져와서 assign을 T로 바꾸고 해당 레코드의 정보를 화면에 표시한다. 가져오는 SQL SELECT * FROM tbl_entry WHERE status = ? AND assign = F OFFSET 0 LIMIT 1 그런데 동시에 3명의 유저가 같은 동작을 실행하면 모두가 id=1인 레코드를 가져버린다. 이걸 방지하기 위해서는 "FOR UPDATE"를 쓰면 되는데 이걸 쓰면 해당 레코드에 락이 걸려서 트랜잭션이 끝날 때까지 기다린다. 해당 레코드에 락을 거는 SQL SELECT * F..

today'work 2023. 7. 20. 21:22
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • springintegration #파일감시 #디렉토리감시 #파일완료검사
  • PostgreSQL #sequnceName
  • logback #logstash #LoggingEventCompositeJsonEncoder #로그JSON
  • Maven LF #메이븐 개행문자
  • lombok #maven build #sym
  • add two numbers
  • Postgresql #MultiTruncate
  • spring #redis #redis-cluster
  • multipleIntegrationFlow
  • AWS #X-Ray
  • excel to markdown
  • 로그테스트 #콘솔로그테스트 #System.out
  • mybatis @insert값 @update값
  • Two Sum
  • reverse integer
  • leetcode
  • spring-integration
  • aws #aws region #aws credential #aws region provider #aws credential provier
  • cannotResolveSymbol
  • 로그파일인덱스
  • palindrome number
  • json
  • PostgreSQL #FOR UPDATE #SKIP LOCKED
  • SnakeYAML
  • excel table
  • QR코드읽기 #ReadQRCode
  • Python #Powertools
  • opencv로qr코드인식
  • yaml
more
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바