상세 컨텐츠

본문 제목

SQL 특징 및 처리과정(hard parse/ soft parse)

DataBase/SQL

by ChrisMare 2020. 2. 15. 23:42

본문

SQL의 특징

SQL(Structured Query Language, SEQUEL-Structured English QUEry Languae)

구조화된 영문 질의어 -> 구조화된 질의어를 말합니다.

자연어에 가까운 프로그래밍 언어로 설계되어 프로그래머가 아니더라도 쉽게 접근하여 배울 수 있는 언어입니다.

 

종류

SQL은 아래와 같이 구분할 수 있습니다.

DQL (Data Query Language)

  • 데이터 질의어
  • SELECT
  • 대상 : 필드, 레코드, 테이블

DML (Data Manipulation Language)

  • 데이터 조작어 (레코드 제어 명령어)
  • 저장된 데이터를 실질적으로 처리하는데 사용. (주의해서 사용)
  • INSERT, UPDATE, DELETE, MERGE(병합)
  • 대상 : 필드, 레코드, 테이블, 뷰, 인덱스
  • ROLLBACK 가능 
  • AUTO COMMIT 기능을 풀고 사용하는 것을 추천.

TCS (Transaction Control Statement)

  • 트랜젝션 제어어
  • COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION
  • Transaction은 하나의 작업단위(출금, 입금)

DDL (Data Definition Language)

  • 데이터 정의어
  • 객체생성, 변경, 삭제
  • CREATE, ALTER, DROP, TRUNCATE(테이블 모든 행 삭제), COMMENT(주석달기)
    SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의, 변경, 삭제시 사용
  • 대상 : 필드, 레코드
  • AUTO COMMIT 설정 시 - ROLLBACK 불가능 (주의)

 

DCL (Data Control Language)

  • 데이터 제어어
  • 데이터의 보안, 무결성, 회복, 병행수행 제어 등을  정의
  • 대상 : 사용자 계정
  • GRANT(권한부여), ROVOKE(권한수거)
  • AUTO COMMIT 설정 시 - ROLLBACK 불가능 (주의)

처리 과정

SQL은 아래와 이미지와 같은 과정으로 처리됩니다.

SQL 처리과정

SQL 처리과정

  • parsing : SQL을 syntax check -> semantic check -> shared pool check 까지의 과정을 파싱
  • hard parse : parsing -> optimization -> row source generation -> execution 까지의 과정
  • soft parse  : parsing -> execution ( shared pool에 저장된 커서를 바로 수행하는 것)

SQL 처리과정에 대한 동작

※ 참고서적 : 불친절한 SQL 프로그래밍

'DataBase > SQL' 카테고리의 다른 글

SQL 수행과정  (0) 2020.02.16
SQL 기본 문법  (0) 2018.10.20

관련글 더보기

댓글 영역