2016-07-19 2 views
0

조인 문의 테이블 이름 뒤에 NOLOCK을 사용할 수 없습니다. JOIN을 통해 커밋되지 않은 데이터를 읽는 것이 유효한 시나리오입니까?Oracle SQL : 결합시 NOLOCK

+1

오라클에는이 기능이 필요하지 않습니다. 독자는 작성자를 차단하지 않습니다. 더하기 : 오라클은 더티 읽기를 지원하지 않습니다. –

답변

2

조인과 관련이 없습니다. NOLOCK은 Oracle에서 사용되지 않습니다. 쿼리는 커밋 된 데이터와 쿼리를 수행하는 트랜잭션의 커밋되지 않은 변경 내용 만 표시합니다.

SELECT * FROM tbl NOLOCK과 같은 쿼리를 작성할 수 있지만 NOLOCK은 단순히 테이블 별칭으로 사용되며 쿼리 메커니즘을 변경하지 않습니다.

+1

(NOLOCK) 힌트는 SQL Server의 기본 읽기 일관성 모델이 공유 잠금을 사용하므로 많은 행을 읽는 쿼리를 실행할 때 일반적으로 사용되므로 잠금 쓰기가 일어날 수있을뿐만 아니라 블록 쓰기도 읽습니다. . 따라서 간단한 쿼리를 사용하더라도 전체 테이블 또는 여러 테이블을 잠글 수 있으며 쿼리가 완료 될 때까지 아무도 데이터를 수정할 수 없습니다. 오라클은 스냅 샷 읽기 일관성을 사용하고 메모리에 잠금을 저장하지 않기 때문에 잠금 에스컬레이션 같은 것이 없습니다. – Husqvik