목록Database (4)
어흥

1. Index란? : 수많은 데이터 중에서 원하는 자료를 빠르고 효율적으로 검색할 수 있도록 하는 자료구조 2. 특징 - 1개 혹은 여러개의 Column을 이용하여 생성될 수 있다 - 고속의 검색 동작 + 레코드 접근과 관련 효율적인 순서 매김 동작 제공 - [키 값, 주소] 형태로 저장되어 보통 테이블보다 적은 용량을 차지한다 - 대부분 B/B+ 트리의 구조를 가진다 2-1. 인덱스의 관리 DBMS는 index를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 탐색할 수 있다. 따라서 INSERT, UPDATE, DELETE가 수행된다면 각각 다음과 같은 연산을 추가적으로 해줘야하며, 그에 따른 오버헤드가 발생한다 INSERT: 새로운 데이터에 대한 인덱스를 추가한다 DELETE: 삭제하는 데..

1. 정의 : Datebase Management System의 약자로, 데이터베이스를 관리하는 시스템 2. 기능 1) 데이터 정의(DDL: Data Definition Language) - 응용 프로그램이 요구하는 데이터 구조를 지원할 수 있도록 데이터 베이스의 논리적 구조와 DBMS에서 정의한 데이터 모델에 맞게 정의한다. - 데이터 베이스의 논리적 구조와 물리적 구조 사이의 변환이 가능하도록 두 구조사이의 매핑을 지원한다. - 명령어: CREATE, ALTER, DROP, RENAME, TRUNCATE (TRUNCATE: Commit 자체가 포함되어 있어서 테이블에서 모든 행(Data)과 공간을 삭제 -> Rollback해도 복구 불가. 무결성을 유지하는 메커니즘을 생략하여 빠른 제거를 실현 -> ..
1. 정의 : 인덱스는 DB 테이블에 있는 데이터를 빨리 찾기 위한 용도의 DB 객체이며, 일종의 색인기술이다 2. 특징 - 테이블에 Index를 생성하게 되면 Index Table을 생성해서 관리 - Index는 테이블에 있는 1개 이상의 Column을 이용해서 만들 수 있다 3. 선언 CREATE INDEX IDX_TEST ON EMPLOYEE(ID,NAME,SALARY);--IDX_TEST INDEX 생성 SELECT * FROM USER_INDEXES WHERE TABLE_NAME = 'IDX_TEST';--생성한 인덱스들 조회 DROP INDEX IDX_TEST--IDX_TEST INDEX 삭제 4. Plan을 통한 일반호출 v.s 인덱스를 통한 호출 비교 EMPLOYEE Table에 약 180..
1. Plan이란? - CBO(Cost Based Optimizer: 최소의 비용으로 최대 효과를 추구) 방식에서 Optimizer가 사용자에게 추천해주는 최적화된 계획(Plan) - 대체적으로 괜찮은 Plan을 제공하지만, Plan은 완벽하지 않아서 항상 의심을 해야한다 2. Plan 결과화면 정리 1) Select문을 통해 원하는 쿼리 수행 2) 결과화면 확인 Cost = 440K: 440,000 비용발생 Card(Cardinality) = 13M: 13,000,000건의 접근하는 레코드 수 Bytes = 1G: 1,000,000,000(Card * 1Row의 총 길이) 결과화면에 'Access (Full)'이 출력되었다면 -> 전체 접근으로 지양해야 하는 쿼리문 위의 결과화면이 뜨는 이유 - 해당 ..