본문 바로가기

db

(2)
DB 인덱스의 구조는 어떻게 되어있나요? 인덱스는 언제 적용해야하나요? 데이터베이스 인덱스(Database Index) 데이터베이스의 인덱스, 개발을 하면서 상당히 많이 들었다.RDBMS에서 대용량의 데이터(레코드)가 있을 때, 특정 데이터를 검색하기 위해서 테이블의 레코드를 full scan하는 것이 아니라, 인덱스가 적용된 컬럼의 테이블(컬럼, 인덱스주소)을 따로 파일로 저장해놓고 그것을 검색해서 검색 효율을 높이는 방법이다.1234SELECT /*+INDEX(EMP EMPNO_INDEX) */EMPNO, ENAMEFROM EMPWHERE DEPTNO=10 /*+HINT~~~~ */ 이런식으로 사용하는 것까지는 누구나 안다. (HINT의 종류는 검색해보면 많음)그러나 '왜 이렇게 일어나지?', '어떻게 동작하지?' 이런 고민을 해보지 않고 + 직접 '체득'하지 않은 사람..
데이터베이스 - Exclusive lock과 Shared lock의 차이 Exclusive lock과 Shared lock 운영체제에서 잠금(Lock)과 유사하게 데이터베이스에서도 잠금(Lock)이 있다.멀티 트랜잭션 환경에서 데이터베이스의 일관성과 무결성을 유지하려면 트랜잭션의 순차적 진행을 보장할 수 있는 직렬화 장치가 필요하다.예를들어 한 명이 도서관의 좌석을 예약하는 중에 다른 한 명이 같은 좌석을 예약할 수 없게하여 정확히 한 명만 좌석을 배정받을 수 있게 한다.이런 이유로 이런 기능을 하는 Lock 이라는 기술이 등장했다.다양한 격리수준이 존재하고 그에 따른 lock들이 많이 있지만 크게 두 가지로 정리한다.Exclusive lock (배타적 잠금) 쓰기 잠금(Write lock)이라고도 불린다.어떤 트랜잭션에서 데이터를 변경하고자 할 때(ex . 쓰고자 할 때) ..