락 편집하기
최신판 | 당신의 편집 | ||
22번째 줄: | 22번째 줄: | ||
집중잠금(Intent Lock)은 [[에스큐엘]] [[서버]]에서 데이터베이스나 테이블 내의 일부 데이터 영역에 이미 공유잠금이나 배타잠금이 걸려 있다는 것을 다른 커넥션에게 알리기 위해서 사용한다.<ref name="쁨쁨">쁨쁨, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=0164624348&logNo=40008761293 DB-Lock 의 종류와 호환성.]〉, 《네이버블로그》, 2014-12-13</ref> | 집중잠금(Intent Lock)은 [[에스큐엘]] [[서버]]에서 데이터베이스나 테이블 내의 일부 데이터 영역에 이미 공유잠금이나 배타잠금이 걸려 있다는 것을 다른 커넥션에게 알리기 위해서 사용한다.<ref name="쁨쁨">쁨쁨, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=0164624348&logNo=40008761293 DB-Lock 의 종류와 호환성.]〉, 《네이버블로그》, 2014-12-13</ref> | ||
− | ==설정 범위== | + | ==락의 설정 범위== |
락의 설정 범위(Level)는 6가지가 있다. | 락의 설정 범위(Level)는 6가지가 있다. | ||
− | * | + | * 데이터베이스 : 전체 데이터베이스를 기준으로 락이 걸린다. 1개의 [[세션]]이 하나의 데이터베이스의 데이터에 접근할 수 있다. DB 전체에 영향이 있는 DB 업데이트와 같은 작업에서만 사용한다. |
− | * | + | * [[파일]] : 데이터베이스 파일을 기준으로 락이 걸린다. 데이터베이스에서 파일이란, 테이블 등과 같이 실제 데이터가 쓰이는 물리적인 저장소를 뜻한다. 파일 전체를 백업할 때 사용한다. |
− | * | + | * [[테이블]](Table) : 테이블 기준으로 락이 걸린다. 전체 테이블에 대한 데이터 변경이 있으면 사용한다. 테이블을 제어하는 [[DDL]] 구문을 사용할 때 락이 걸린다고 'DDL Lock' 이라고도 한다. |
− | * | + | * 페이지와 블럭 : 파일을 구성하는 페이지와 블록을 기준으로 락이 걸린다. |
− | * | + | * [[컬럼]](Column) : 컬럼 기준으로 락이 걸린다. 다만 락 설정 및 해제 시 리소스가 많이 든다. 그래서 잘 사용하지 않는다. |
− | * | + | * 행(Row) : 행 수준의 락을 건다. 가장 많이 사용되는 락이다.<ref>평범한 개발자 센트빈, 〈[https://centbin-dev.tistory.com/40 (개발자 면접) Database Lock 종류 및 기능]〉, 《티스토리》, 2021-01-25</ref> |
== 관련 개념 == | == 관련 개념 == |