=====Exclusive locks====
데이터 수정: 한 사용자가 중요한 데이터를 수정하는 동안 다른 사용자가 동시에 데이터를 변경하지
않도록 방지해야 하는 경우 exclusive lock을 사용합니다.
데이터 일관성 유지: 여러 사용자가 동시에 동일한 데이터를 수정하여
데이터 손상이나 불일치가 발생하지 않도록 exclusive lock을 사용합니다.
백업 및 복원: 데이터베이스 백업 또는 복원 작업 중에는 exclusive lock을 사용하여
다른 사용자가 데이터를 변경하지 못하게 차단할 수 있습니다.
1. 테이블 레벨 Exclusive locks:
테이블 전체에 걸쳐 독점 액세스 권한을 부여합니다.
다른 사용자가 테이블에 대한 **모든 작업(SELECT, INSERT, UPDATE, DELETE)**을 수행하지 못하도록 합니다.
사용 사례:
전체 테이블 백업 또는 복원
테이블 구조 변경
테이블 데이터 삭제
2. 행 레벨 Exclusive locks:
특정 행에 대한 독점 액세스 권한을 부여합니다.
해당 행에 대한 **모든 작업(SELECT, INSERT, UPDATE, DELETE)**을
다른 사용자로부터 차단합니다.
사용 사례:
특정 행의 데이터 수정을 다른 사용자로부터 방지
행별 데이터 일관성 유지
특정 행에 대한 인덱스 구축 또는 삭제
Shared locks========
데이터 읽기: 여러 사용자가 동시에 동일한 데이터를 읽어야 하는 경우
shared lock을 사용하여 데이터 일관성을 유지하면서 병행성을 향상시킬 수 있습니다.
데이터 조회 및 분석: 보고서 생성 또는 데이터 분석과 같은 작업에서 여러 사용자가 동시에 데이터를
조회해야 하는 경우 shared lock을 사용합니다.
읽기/쓰기 작업 분리: 특정 시간대에는 데이터 읽기만 허용하고, 다른 시간대에는 데이터 수정을 허용하는 등 읽기/쓰기 작업을 분리하는 데 사용됩니다.
병행성 향상: 여러 사용자가 동시에 데이터를 읽을 수 있으므로 데이터베이스의 전체적인 병행성을 향상시킵니다.
데이터 일관성 유지: 동시 읽기 작업에서 데이터 무결성을 보장합니다.
잠금 대기 시간 감소: Exclusive locks에 비해 잠금 대기 시간이 짧습니다.
Shared locks의 단점: