목록전체글 (117)
미스터 역마살
1. 데이터 베이스란? 오라클에서의 정의는 디스크에 저장된 데이터 집합(Datafile, Redo Log File, Control File등) 임. 2. 프로세스 프로세스는 서버프로세스와 백그라운드 프로세스로 나뉘게 되는데 서버프로세스는 사용자가 지시한 각종 명령들을 처리하고 백그라운드 프로세스는 말 그대로 백그라운드에서 묵묵히 주어진역할을 수행한다.2-1. 서버프로세스 서버프로세스의 역할은 SQL을 파싱하고 최적화를 수행하며, 커서를 열어 SQL을 실행하면서 블록을 읽고, 읽은 데이터를 정렬해서 클라이언트가 요청한 결과집합을 만들어 네트워크를 통해 전송하는 작업들을 처리한다.2-2. 백그라운드 프로세스 백그라운드 프로세스는 Dirty 버퍼와 로그버퍼를 디스크에 기록하고 인스턴스 및 프로세스를 복구하는 ..
♣ 인덱스 파티셔닝이란? 인덱스도 테이블처럼 파티션 여부에 따라 비파티션 인덱스와 파티션 인덱스로 나뉘고 파티션 인덱스는 각 인덱스 파티션이 담당하는 테ㅔ이블 파티션 범위엥 따라 글로벌과 로컬로 나뉘게 된다. 아래 그림을 보면서 이야기를 나눠보자 로컬 파티션 인덱스는, 각 테이블 파티션과 인덱스 파티션이 서로 1:! 대응관게가 되도록 오라클이 자동으로 관리하는 파티션 인덱스를 말한다. 로컬이 아닌 파티션 인덱스는 모두글로벌 파티션 인덱스에 속하며, 테이블 파티션과 독립적인 구성을 갖는다. ♣ Local Partition Index - 로컬 파티션 인덱스는 각 인덱스 파티션이 테이블 파티션과 1:1 대응관계를 가지며 테이블 파티션 속성을 그대로 상속 받는다. 파티셔닝을 전제로 하므로 흔히 '로컬 인덱스'라..
♣ 파티셔닝 이란? 지속적으로 증가하가나 용량이 큰 테이블들을 파티션이라는 보다 작은 단위로 나눔으로써 성능이 저하되는 것을 방지하고 관리를 보다 수월하게 하고자 하는것을 파티셔닝이라고 한다. ♣ 파티셔닝이 필요한 이유 1) 관리적 측면 : 파티션 단위 백업, 추가, 삭제, 변경등 2) 성능적 측면 : 파티션 단위 조회 및 DML 수행. ♣ 파티션 기본구조 1) 수동파티셔닝 - 파티션 뷰를 통해 파티션 기능을 구현했으며 이를 수동 파티셔닝이라고 부른다. - 파티션 뷰의 핵심 기능은 뷰쿼리에 사용된 조건절에 부합하는 테이블만 읽는다는 데에 있으며, 이를 파티션 Pruning이라고 하며, 파티션 Pruning의 필수조건은 체크제약(Check constraint)을 설정 하는 것이다. 2) 파티션 테이블 - ..
1. 인덱스 사용이 불가능한 경우 - 인덱스 컬럼을 조건절에서 가공하면 정상적으로 인덱스 사용이 불가능 하다. - 부정형 비교또한 인덱스 사용이 불가능 하다. - IN NOT NULL 조건의 경우는 부정형 비교로 볼수 있다. 허나, 인덱스 범위 스캔이 불가능 하지만 인덱스 사용이 완전 불가능 한 것은 아니다. 오라클은 단일 컬럼 인덱스에 대해서는 NULL 값을 저장하지 않기 때문에 IN NOT NULL 조건의 컬럼이 단일 컬럼 인덱스 라면 INDEX FULL SCAN이 사용된다. - 또한 IS NULL 조건만으로도 검색시 정상적인 인덱스 사용이 불가능 하다. 하지만 NOT NULL 제약조건이 있는 경우 옵티마이저가 IS NULL 조건을 검색해도 만족하는 레코드가 하나도 없음을 알기에 INDEX RANGE..
오늘은 Orange를 이용하여 샘플데이터를 생성하는 법을 알아보자 1. 일단 먼저 오렌지 실행 후 계정접속을 한다. 2. 테스트 테이블을 생성한다. 3. Tools > Data Generation Tool 을 선택한다. 4. 더미데이터를 넣을 테이블이 속한 스키마를 선택한다. 5. Configuration에서 더미데이터를 넣을 테이블을 선택한다. 6. 각 컬럼마다 더미데이터의 포맷을 선택한다. 옵션 설명 1) If the Data exists on the table - 테이블에 데이터가 존재할 경우 3가지 옵션중 한가지 작업을 하고 Generation 할 것 인지 선택한다. 2) of Record to create - 총 몇개의 데이터를 생성할 것인지 지정한다. 선택하지 않으면 생성이 실행되지 않으므로 ..
해싱이란? 해싱은 키값에 연산을 통해 해당 키값에 할당된 항목에 직접 접근 가능한 구조를 말하며 이러한 자료구조를 해시테이블이라고 한다. 또한 해시테이블을 이용한 탐색을 해싱이라고 한다. 해시함수? 해시테이블에 데이터를 저장할때 여러 알고리즘을 통해서 데이터의 고유한 숫자값을 만들어 인덱스로 사용하게 되는데 이 알고리즘을 구현한 메소드를 해시 함수라고 한다. 해시함수의 알고리즘은 여러가지가 있지만 가장 기본적인 것! 나머지 연산법에 대해 알아보자. 예를 들어 "a", "b", "c"의 해시코드가 각각 97, 98 ,99 라고 하고 해시테이블의 크기가 10이라고 했을 때 테이블에 저장될 인덱스는 다음과 같다. 97 % 10 = 798 % 10 = 899 % 10 = 9 즉, Hash Table의 인덱스 7..