DB/ORACLE
PL/SQL 개요
효기로그
2019. 9. 5. 10:01
반응형
1. PL/SQL의 개념
PL/SQL은 'Procedural Language / Structured Query Language'의 약어로 오라클 관계형 데이터베이스의 SQL을 확장하여 절차적인 처리 기능성을 제공하기 위한 언어이다.
2. PL/SQL의 주요 특징
- 프로그래밍 언어와 데이터 처리의 통합
- 블록 단위 구성
- 순차 처리 지원
- 예외 처리 지원
- 서브프로그램 지원 ( Function & Procedure )
- 패키지를 사용한 모듈화 지원
- 트리거 지원
- 객체 지향 프로그래밍 지원
- 다양한 내장 API 지원
- 플랫폼 독립적
3. PL/SQL과 SQL 비교
분류 | 항목 | SQL | PL/SQL |
공통점 | 사용 용도 | 관계형 데이터베이스의 데이터 처리 | |
컴파일 | 오라클 데이터베이스 엔진에 의해 컴파일되고 최적화됨 | ||
실행 환경 | 오라클 데이터베이스에 접속한 후 데이터베이스 내에서 실행 가능 | ||
실행 | 오라클 데이터베이스 서버에서 데이터베이스 엔진에 의해 실행 | ||
차이점 | 데이터 처리 기술 방법 | 데이터 처리 결과 집합만을 기술 ( What to do ) | 데이터 처리의 절차 ( How to do ) 와 처리 결과 집합 ( What to do)를 모두 기술 |
작성 언어 | SQL | PL/SQL | |
유형 분류 | DML, DDL, DCL, TCL | 프로시져, 함수, 패키지, 트리거, 객체 타입 | |
실행 단위 | SQL 문장 단위 | PL/SQL 블록과 문장 단위 | |
PL/SQL 호출 | 저장 함수, 패키지 함수, 객체 타입의 메소드 | 저장함수, 저장 프로시져, 패키지 함수, 패키지 프로시져, 객테 타입의 메소드 | |
특성 | 서버에 저장 | 저장할 수 없음 | 컴파일되어 데이터베이스 딕셔너리에 바이트 코드 형태로 영구히 저장 |
모듈 공유 | 불가능 | 저장 서브프로그램을 통해 모듈의 공유 가능 | |
예외 처리 | 불가능 | 가능 | |
단일 기능의 처리 성능 | 빠름 | 느림 | |
여러 SQL의 순차 처리 성능 | 느림( SQL을 실행 할 때마다 클라이언트와 서버 간의 왕복 필요 ) | 빠름 ( 서버에서 모든 SQL을 처리하므로 클라이언트와 서버 간 왕복은 1회만 필요 ) | |
성능 최적화 | 옵티마이저에 의한 최적화 용이 | 옵티마이저에 의한 최적화 어려움 |
반응형