분류 전체보기

실행 계획이 SQL 구문의 성능을 결정 실행계획이 만들어지면 DBMS는 그것을 바탕으로 데이터 접근을 수행한다. 하지만, 데이터 양이 많은 경우에는 반응 지연이 발생하는데 첫번 째로, 앞에서 살펴본 통계정보가 부족한 경우 두번 째로는, SQL 구문이 복잡하여 옵티마이저가 최적의 경로를 선택하지 못할 경우 발생한다. => (이미 최적의 경로(방법)가 설정되어 있는데도 느린 경우) 실행계획 확인 방법 SQL 구문의 지연이 발생했을 경우 제일 먼저 실행 계획을 살펴본다. Oracle : set autotrace traceonly 3개의 기본적인 SQL 구문의 실행 계획 살펴보기 테이블 풀 스캔(Full Scan)의 실행 계획 인덱스 스캔의 실행 계획 간단한 테이블 결합의 실행 계획(조인) (Sql develo..
데이터에 접근하는 방법은 어떻게 결정할까? RDB에서 데이터 접근 절차를 결정하는 모듈을 쿼리 평가 엔진이라고 부른다. => SQL 구문(쿼리)을 처음 읽어 들이는 모듈이기도함 쿼리 평가 모듈은 추가로 파서 또는 옵티마이저와 같은 여러 개의 서브 모듈로 구성된다. 쿼리 => (1) 파서 => 파스된 쿼리 => 옵티마이저 => (2) 플랜생성, (3) 비용평가 => (4) 카탈로그 매니저 => 5.플랜평가 파서(Parser) 이름 그대로 파스(구문분석)을 하는 놈이다. 사용자로부터 입력받은 SQL구문이 문법적으로 오류가 있는지 검사해 준다. 옵티마이저(Optimizer) 서류 심사를 통과하면 쿼리는 옵티마이저로 전송된다. 옵티마이저는 최적화(데이터 접근법, 실행계획)를 수행하고, DBMS 두뇌의 핵심이다...
페이지 부재 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 현상 페이지 부재 빈도(PFF;Page Fault Frequency)는 페이지 부재가 일어나는 횟수를 의미 페이지 부재 빈도 방식 페이지 부재율(Page Fault Rate)에 따라 주기억장치에 있는 페이지 프레임의 수를 늘리거나 줄여 페이지 부재율을 적정 수준으로 유지하는 방식 페이지 교체 알고리즘 페이지 부재가 발생했을 때 가상 기억장치의 필요한 페이지를 주기억장치에 적재해야 하는데, 이때 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 교체할지 결정하는 기법 OPT (OPTimal Replacement, 최적교체) 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법 (실현 가능성이 희박하다) FIFO (Firs..
기억장치 관리 전략반입(Fetch) 전략보조기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략요구 반입 : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법예상 반입 : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법 배치(Placement) 전략새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략최초 적합(First Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫번째 분할 영역에 배치시키는 방법최초 적합(Best Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 적게 남기는 분할 영역에 배치시키는..
프로세스 동기화여러 프로세스의 접근이 가능한 공유된 데이터에 여러 프로세스들이 동시에 접근했을 때를 방지하는 방법 임계구역/상호배제/세마포어임계구역(Critical Section)다중 프로그래밍 운영체제에서 여러 개의 프로세스가 공유하는 데이터 및 자원에 대하여 어느 한 시점에서는 하나의 프로세스만 자원 또는 데이터를 사용하도록 지정된 공유 자원(영역)을 의미임계구역은 특정 프로세스가 독점할 수 없다. 상호 배제(Mutual Exclusion)특정 프로세스가 공유 자원을 사용하고 있을 경우 다른 프로세스가 해당 공유 자원을 사용하지 못하게 제어하는 기법이다.여러 프소세스가 동시에 공유자원을 사용하려 할 때 각 프로세스가 번걸아가며 공유 자원을 사용하도록 하는 것으로 임계 구역을 유지하는 기법상호 배제 구..
CPU 스케줄링 알고리즘문맥교환(Context Switching) : 새로운 프로세스에게 CPU를 할당하기 위해 현재 CPU가 할당된 프로세스의 상태 정보를 저장하고, 새로운 프로세스의 상태 정보를 설정한 후 CPU를 할당하여 실행되도록 하는 작업. (Overhead가 발생하는 주요 원인) CPU 스케줄링이란?메모리에 있는 준비(Ready) 상태의 프로세스 중 하나를 선택해 CPU자원을 할당하는 것 CPU 스케줄링이 일어나는 시점실행상태에서 대기상태로 전환될 때 (예, 입출력 요청) - Non preemptive(비선점) 실행상태에서 준비상태로 전환될 때 (예, 인터럽트 발생) - preemptive(선점) 대기상태에서 준비상태로 전환될 때(예, 입출력이 종료될 때) 종료될 때(Terminated) 선점..
앞에서만든 백업테이블에 있는 데이터를 다시 기존테이블에 부어야할 경우, SELECT INSERT 문을 사용하면 쉽게 데이터를 넣을 수 있다.1INSERT INTO 기존테이블 SELECT * FROM 백업테이블cs 원하는 컬럼만 넣고 싶을 때는 아래와같이 하면 된다.12345INSERT INTO 기존테이블(column1, column2, column3 ...)SELECT column1, column2, column3FROM 백업테이블[WHERE ]cs 사용 예)1INSERT INTO STUDENT SELECT * FROM STUDENT_BACKcs
작업을 하다보면 테이블에 있는 데이터를 임시로 백업을 해야하는 경우가 생긴다.신규테이블을 생성하면서 기존테이블에 있는 데이터를 신규테이블로 옮기는 SQL이 존재한다. 1CREATE TABLE 신규테이블 AS SELECT * FROM 기존테이블 [WHERE 조건]cs 사용 예)1CREATE TABLE STUDENT_BACK AS SELECT * FROM STUDENT WHERE NAME LIKE '강%'cs
프로세스일반적으로 프로세서(처리기, CPU)에 의해 처리되는 사용자 프로그램이나, 시스템 프로그램을 의미하며 프로세스는 필요한 각종 자원을 요구한다.=> PCB를 가진 프로그램, 실행중인 프로그렘 PCB(Process Control Block)PCB : 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳으로 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB가 제거됨PCB에 저장되어 있는 정보 : 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, 스케줄링 및 프로세스의 우선순위, CPU 레지스터 정보 등등 스레드(Thread)하나의 프로세스 내에서 병행성을 증대시키기 위한 메커니즘으로 시스템의 여러 자원을 할당받아 실행하는 프로그램 단위(경량 프로세스라고도함)스레..
운영체제 발달 과정 일괄 처리 시스템 -> 다중 프로그래밍, 다중처리, 시분할, 실시간 처리 시스템 -> 다중 모드 -> 분산 처리 시스템 일괄처리 (Batch Processing) 시스템 초기 컴퓨터 시스템으로, 일정량 또는 일정 기간 동안 데이터를 모아서 한꺼번에 처리하는 방식 사용자 측면에서 반환(응답)시간이 늦지만 하나의 작업이 모든 자원을 독점하므로 CPU 유휴시간이 줄어듦 => 급여 계산, 지불계산, 연말 결산 등 업무에 사용 다중 프로그래밍 (Multi-Programming) 시스템 하나의 CPU와 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식 하나의 주기억장치에 2개 이상의 프로그램을 기억시켜 놓고, 하나의 CPU와 대화하면서 동시에 처리 시분할 (Time Sharing)..
깡냉쓰
'분류 전체보기' 카테고리의 글 목록 (49 Page)