[sql] 락 모드(Row-level, Page-level, Table-level)의 차이점은 무엇인가요?
  1. 행 수준 락(Row-level lock): 이 락 모드는 트랜잭션이 특정 행에 대해 락을 설정하는 것입니다. 이 락 모드는 다른 트랜잭션이 같은 행을 수정하는 것을 방지합니다. 다른 트랜잭션이 다른 행에 대한 작업을 수행하는 것은 허용됩니다.

  2. 페이지 수준 락(Page-level lock): 페이지 수준 락은 트랜잭션이 데이터베이스 페이지에 대한 락을 설정하는 것입니다. 이것은 여러 행을 포함하는 페이지 단위로 데이터를 락하는 것으로, 행 수준 락에 비해 더 많은 메모리를 차지하며 더 큰 범위의 락을 설정합니다.

  3. 테이블 수준 락(Table-level lock): 이 락 모드는 트랜잭션이 전체 테이블에 대한 락을 설정하는 것입니다. 이 락 모드는 테이블의 모든 행과 페이지에 대한 액세스를 막으므로 다른 트랜잭션이 해당 테이블에 대한 모든 유형의 작업을 수행하지 못하도록 방지합니다.

이러한 락 모드 중에서 선택은 데이터베이스 시스템의 효율성을 고려하여 이루어져야 합니다. 각 락 모드는 자신만의 장단점이 있으며, 적절한 상황에서 사용해야 합니다.