안녕하세요,

SQL 에 관련해 궁금한 사항이 있어서 질문 드립니다.

아시는 분은 꼭 답변 해주시면 감사하겠습니다.


제가 알기로는 Update, Insert 중 같은 테이블을 Select 시도하면 Lock 이 걸린다고 알고있습니다.

실제로 Begin Tran Update ~ 로 Commit 전의 상태에서

Select 문을 사용했을 때 Lock 이 걸려 Timeout 에러가 발생하는 것 까지 확인하였습니다.

그래서 이 때 Lock 없이 데이터를 보기 위해서는 Select 문에 WITH(NOLOCK) 을 사용하면 되고,

이 또한 테스트로 확인했습니다. ( NOLOCK 사용 시 Update 중에도 Select 되는 것)


그런데 테스트 중 Join 으로 Select 한 테이블은 Lock 이 발생하지 않고 Select 결과가 나타났습니다.

좀 더 자세하게 상황을 설명하면,

A, B : Table

Update A 중

Select From A INNER JOIN B ON A.type = B.type WHERE A.type = 'TEMP'

의 결과가 WITH(NOLOCK) 없이 바로 나왔습니다.


왜 이 경우에는 트랜잭션이 걸리지 않을까요?

위 상황에서 DBCC OPENTRAN 으로 확인했을 때 Update A 로 열린 트랜잭션이 여전히 있었는데 말입니다.


제 생각으로는 Join 도 역시 테이블들을 조회해 join 후 가상의 테이블로 보여주기때문에

테이블 조회하는 과정에서 Lock 이 걸려야 한다고 생각했습니다.


제가 무엇을 놓치고 있는지 알려주시면 감사하겠습니다.


No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 3048
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 1939
10627 갑작스런 Timeout 에러 관련해 질문드립니다. [1] 울어욥 2020.08.05 588
» Lock, 트랜잭션에 관련하여 질문이 있습니다. [2] 울어욥 2020.08.05 767
10625 bcp 로 생성된 파일을 복원하기 질문입니다. [1] 희망나라 2020.07.26 532
10624 학생별 연속된 년도,학기의 수를 구하고 싶습니다.. [2] 개발자혁이 2020.07.22 723
10623 쿼리 결과를 서버로 올릴때 질문입니다. [2] 희망나라 2020.07.20 496
10622 차등 백업이 풀백업 이후 한번만 진행되는 현상 [1] 레몽 2020.07.20 536
10621 CONVERT 함수 문의드립니다. [5] 초보SQL러 2020.07.20 486
10620 테이블에서 여러가지 조건 검색 질문 좀 할게요 [3] 엘리사 2020.07.17 498
10619 저기요...sql비교연산자에서요.... ☞☜ [1] 김포천재 2020.07.16 503
10618 테이블상 동일한 여러개의 로우에 조건을 검색하여 데이터를 찾을수있을까요? [1] 뽀구 2020.07.15 389
10617 중복시간을 제외한 시간의 합을 구할수있을까요? [7] 톰슨 2020.07.14 816
10616 SQL 서버 연결 [1] 망태기군 2020.07.13 1022
10615 SQL 특정 시간 날짜 Sum 문의 입니다. [1] 핸젤루 2020.07.07 692
10614 쿼리 질문합니다... 병든토끼 2020.07.07 357
10613 db 백업? 이중화? 질문 [2] 하이욧 2020.07.06 492
10612 인덱스를 위한 교재 추천 부탁 드립니다. [2] 대두개발자 2020.06.29 620
10611 2개의 테이블을 union all 로 조회 후 합치고 싶습니다. [2] 초보SQL러 2020.06.25 467
10610 사용자 이(가) 로그인하지 못했습니다. 원인: 명시적으로 지정된 데이터베이스를 열지 못했습니다. 마징고 2020.06.24 503
10609 SP 내부의 트랜젝션 처리 코코 2020.06.22 535
10608 상위 레벨 코드 가져오는 방법 [1] sql바보 2020.06.22 527





XE Login