SQL : 구조절 질의언어오라클 PL/SQL, SQL SERVER T-SQL처럼 절차적(procedural)프로그램기능을 구현할수있는 확장언어도 제공하지만, sql은 기본적으로 구조적, 집합적, 선언적 질의언어사용자 > sql > 옵티마이저 > 실행계획 > 프로시저DB
데이터를 찾는 두가지 방법테이블 전체 스캔인덱스 이용온라인 트랜잭션 처리 (OLTP)시스템에서는 소량 데이터를 주로 검색하므로 인덱스 튜닝이 무엇보다 중요인덱스 튜닝의 두 가지 핵심요소인덱스 스캔 효율화 튜닝(비효율을 줄이는것)EX) 학생명부에서 시력이 1.0~1.5인
B\*Tree인덱스의 가장 일반적이고 정상적인 형태필요한 범위만 스캔실행계획 : INDEX (RANGE SCAN) OF '인덱스명' (INDEX)선두컬럼 가공하지않은 상태로 조건절에 사용\- 성능은 인덱스 스캔범위, 테이블 엑세스 횟수를 얼마나 줄일수있느냐로 결정(인덱
튜닝은 랜덤I/O와의 전쟁, SQL튜닝에 있어 랜덤 I/O가 그만큼 중요.본장에서는 랜덤액세스 최소화하는 구체적인 방법들을 소개아무리 데이터가많아도 인덱스를 사용하면 데이터가 금방 조회됨(소량의 데이터 조회 시)대량의 데이터를 조회할때 인덱스를 사용하면 테이블 전체 스
\- IOT, 클러스터, 파티션은 테이블 랜덤액세스 최소화에 매우 효과적인 구조 BUT, 운영중인 환경에서 이를 적용하려면 성능검증을 위해 많은 테스트를 진행해야한다. > 시스템 개발 단계에서 물리설계가 중요한 이유운영환경에서 가장 일반적인 튜닝 기법은 인덱스 컬럼 추
조인의 기본은 NLNL은 인덱스를 이용한 조인각조인은 프로세싱과정은 비슷 , 어떤 자료구조를 사용하느냐의 차이NL의 기본 구조는 중첩 루프문 구조NL조인은 일반적으로 OUTER(DRIVING)와 INNER 양쪽 테이블 모두 인덱스를 이용한다.OUTER쪽 데이터가 적으면
옵티마이저는 비용(Cost)를 평가하고 실행계획 생성에 앞서 사용자로부터 전달받은 SQL을 최적화에유리한 형태료 변환하는 작업, 쿼리변환부터 진행쿼리변환 (Query Transformation)은 옵티마이저가 SQL을 분석해 의미적으로 동일하면서도 더 나은 성능이 기대
SQL 수행중 가공된 데이터 집합필요시, 오라클은 PGA와 TEMP테이블 스페이스를 활용소트머지 조인, 해시 조인, 데이터 소트와 그룹핑등이 대표적소트는 기본적으로 PGA에 할당한 Sort Area에서 수행메모리공간인 Sort Area가 다 차면 디스크 TEMP테이블
인덱스는 항상 키 컬럼 순으로 정렬상태 유지이를활용하면 SQL에 Order By또는 Group By 절이있어도 소트연산 생략가능.여기에 Top N쿼리 특성을 결합합면, OLTP시스템에서 대량 데이터 조회할때 매우 빠른 응답속도를 낼 수 있다.특정조건만족하는 최소값, 최
인덱스무결성 제약조건절서브쿼리Redo 로깅Undo 로깅Lock커밋테이블에 레코드를 입력하면, 인덱스에도 입력해야한다.테이블은 Freelist(테이블마다 관리하는 데이터 입력이가능한 블록목록)를 통해 입력할 블록 할당인덱스는 정렬된 자료구조이므로 수직적 탐색을 통해 입력
실무에서 절차적 프로그래밍을 One SQL로 구현하는것은 복잡한 업무로직 때문에 쉽지않다.그럴경우 Array Processing활용하면 Call부하를 획기적으로 줄일 수 있다.\--SQL수행예제 declare cursor c is select \* from source
온라인 트랜잭션은 기준성 데이터, 특정 고객, 특정 상품, 최근 거래등을 반복적으로 읽기 때문에 버퍼캐시가 성능향상에 도움을 준다.정보계 시스템(DW/OLAP)이나 배치 프로그램에서 사용하는 SQL은 주로 대량 데이터를 처리하기 때문에 버퍼캐시를 경유하는 I/O매커니즘
파티션 이용시 대량 추가/변경/삭제작업을 빠르게 처리할 수 있다.이를 이해하기위해서는 파티션에대한 많은 사전지식이 필요파티셔닝(Partitioning) : 테이블 또는 인덱스 데이터를 특정컬럼(파티션 키) 값에 따라 별도 세그먼트에 나눠저장하는것계절별로 옷을관리하면 외
Lock은 데이터베이스의 특징을 결정짓는 가장 핵심적인 메커니즘트랜잭션 동시성제어도 반드시 학습해야할 주제여러채번 방식의 성능을 비교하여 테이블 식별자 설계 및 채번 방식선택기준을 제시오라클은 공유리소스와 사용자 데이터 보호목적 다음과같은 Lock을 사용DML Lock
선택도(Selectivity) : 전체 레코드 중에서 조건절에 의해 선택되는 레코드 비율가장단순한 '=' 조건으로 검색할때의 선택도만 보면, 컬럼값 종류개수(NDV, Number of Distinct Values)를 이용해 아래와 같이 구한다선택도 = 1 / NDV카디
실행계획을 확인하려면 우선 plan_table을 생성해야 하는데, 아래 스크립트를 실행하면 된다.'?'는 $ORACLE_HOME디렉토리를 대체하는 기호다.SQL @?/rdbms/admin/utlxplan.sql10g 버전부터는 기본적으로 오라클이 sys.plan_tab