mssql에서 지원하는 with (nolock)를 사용안해도 되나요.??
아니면 oracle에서 지원하는것있나요.^^
답변 부탁드립니다.
오라클은 타 DBMS와 잠금 처리하는 것이 다릅니다.
MS-SQL (Sybase)등은 select 시에도 잠금이 걸릴 수 있으므로, Dirty buffer (수정된 블록이고 아직 commit으로 트랜잭션이 확정되지 않은) 라도 상관없으니 읽어서 처리해라라는 의미로 주는 것이...
(nolock) 입니다. 사실 무결성 측면에서 안쓰는 것이 좋습니다.
왜냐하면 롤백이 되어버리거나 하면 기껏 가져온 데이타가 틀릴 수 있으므로...
오라클의 경우는 SELECT는 잠금이 전혀 걸리지 않습니다.
("nolock"하지 않아도 항상 동일한 효과에 데이타 일관성까지 보장해줍니다. )
따라서 위와 같은 불필요한 구문이 애초에 필요없는 아키텍쳐입니다.
사실 오라클이 성능면에서 내세우는 강점중에 하나도 이러한 점이기도 하구요.