
DBMS에서 트랙잭션을 특별한 제어 없이 병행 수행을 허용하면 데이터의 일관상 & 무결성을 보장하기 어려울 수 있습니다.이때 병행 수행되는 트랜잭션들을 제어하기 위해서 락을 사용할 수 있으며 DBMS에서 락은 크게 공유 락과 배타 락으로 분류할 수 있습니다. 공유 락 ( Shared Lock ): 읽기 락이라고 부르며, 공유 락이 걸린 데이터에 대해서 다른 트랜잭션에서도 공유 락을 획득할 수 있지만, 배타 락은 획득할 수 없습니다. 즉 공유 락을 사용하면, 트랜잭션 내에서 조회한 데이터가 변경되지 않는다는 점을 보장합니다. SELECT * FROM table_name WHERE id = 1 FOR SHARE; 배타 락 ( Exclusive Lock ): 쓰기 락이라고 부르며, 배타 락이 걸린 ..