회사에서 데이터베이스에 관한 책으로 공부하다가보니 용어를 제대로 알지 못해서 책에서 의도한 바를 이해하지 못하는 경우가 많아 몇가지 따로 정리해 본다.
OLTP(Online Transaction Proccessing): 온라인 트랜잭션을 위한 데이터베이스 프로세싱
온라인 업무처리 형태의 하나이다. 터미너에서 받은 메세지에 따라 호스트가 처리하고 그 결과를 다시 터미널로 되돌려주는 방법을 말한다.
Shared Pool: 공유 Data 를 저장하기 위해 마련된 메모리 공간
SQL문을 처리하고 커서를 공유하는데 사용된다. 쿼리를 실행하기 위해 필요한 구문분석 정보와 실행계획을 저장한다.(Shared =Library Cache+dictionally Cache)
Library Cache : SQL 실행에 관련된 모든 객체에 대한 정보를 관리
서버 프로세스가 SQL을 작업할 떄 사용하는 공간
Shared SQL Area: SQL 문장 파스트리, 실행계획 저장
PL/SQL Procedure:PL/SQL 문장 컴파일된 프로그램 및 프로시저 저장
Control Structures
뷰(View): 실제로 존재하지 않고 SQL JOIN/EQUIJOIN 등의 테이블 합성 DML에 의해 만들어진 가상테이블.
CIO(Chief Information Officer): 최고 정보 책임자.
데이터 웨어하우스:데이터의 집합체, 정보 창고
PCTFREE :블록내에 UPDATE시 늘어나느 데이터를 수용하기 위한 공간. DEFAULT는 10%
블록내에 10%는 Free Space로 지정되게 된다.
블록이 100%인 상태에서 데이터가 90%가 찬 상태라면 Insert 할 수 없다.
레벨(Level): 트리의 각층의 번호
높이(Height): 트리의 최대 레벨
차수(Degree): 노트가 가지고 있는 자식 노드의 갯수
B*Tree(Balance):트리의 일종으로 이진트리를 확장해 하나의 노드를 가질 수 있는 자식노드의 숫자가 2보다 큰 트리구조이다. 일반적으로 상향식으로 구성된다.
옵티마이저(Optimizer)
-SQL을 가장 빠르고 효율적으로 수행할 최적(최저비용)의 처리 경로를 생성해주는 DBMS 내부의 핵심엔진
SQL 최적화 과정
-사용자가 던진 쿼리 수행을 위해, 후보군이 될만한 실행계획을 찾는다.
-오브젝트 통계 및 시스템 통꼐정보를 이용해 각 실행 계획의 예상비용을 산정한다.
-각 실행계획을 비교해서 최저비용을 갖는 하나를 선택한다.
옵티마이저 종류
규칙기반 옵티마이저
-미리 정해놓은 규칙에 따라 액세스 경로를 평가하고 실행계획을 선택한다.
규칙?
-엑세스 경로별 우선순위로서 인덱스 구조, 연산자, 조건절 형태가 순위를 결정하는 주요인
비요기반 옵티마이저
-테이블과 인덱스에 대한 여러 통계 정보를 기초로 각 오퍼레이션 단계별 예상비용을 산정하고, 이를 합산한 총 비용이 가장 낮은 실행계획을 선택한다.
비용?
-쿼리를 수행하는데 소요되는 일량 또는 시간
'개발 > sql' 카테고리의 다른 글
oracle comment 내용 수정 (0) | 2019.03.12 |
---|---|
PK변경 및 인덱스 변경 (0) | 2019.03.11 |
ORACLE SQL 기법-1 (0) | 2016.05.30 |
ORA-00917: 누락된 콤마 (2) | 2015.11.30 |
oracle 연결 툴 toad 토드 (0) | 2015.10.19 |
댓글