Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- EC2
- 깃랩 젠킨슨 연동
- SQL Parser
- 프로그래머스 위장
- 프로그래머스 전호번호 목록
- SFTP
- 국가공은자격증
- jenkins gitlab 연동
- 알고리즘
- Clooection
- Hard Parsing
- FTP
- 베트스앨범
- Soft Parsing
- AWS
- SQL Optimizer
- 윈도우 프로세스 죽이기
- 리액트 돔
- jenkins
- db
- 프로그래머스
- Row-Source Generation
- 인바운드규칙
- Java
- Oracle
- 윈도우 kill -9
- 스프링 실행 에러
- SQL
- SQL파싱
- 코딩테스트
Archives
- Today
- Total
알파돈
[DB] SQL 파싱 이란? 본문
SQL의 처리과정은 아래와 같다
- SQL 작성을 하면 SQL Parser 은 SQL 파싱을 진행 한다.
- 옵티마이저가 SQL 최적화를 진행 한다.
- Row-Source Generation가 옵티마이저에게 전달받은 최적을 실행 계획을 받아 코드 또는 프로시저 형태로 포맷팅
- 실행
SQL Parser
- 개발자가 작성한 SQL을 이루는 구성요소를 분석하고 파싱 트리를 만든다.
- Syntax 체크 : 문법 검사
- Symantic 체크 : 오브젝트의 참조 및 존재 여부 검사
- Shared Pool에 캐싱되어 있는 SQL 커서인지 확인 : 해시 알고리즘 사용
SQL Optimizer
- Query Transformer : SQL을 최적화 하기 쉬운 형태로 변환
- Plan Genrator : SQL 실행 계획을 생성
- Estimarot : 실행 계획의 비용을 계산
Row-Source Generation
- 옵티마이저에게 전달받은 최적을 실행 계획을 받아 코드 또는 프로시저 형태로 포맷팅
- 최종 결과집합을 생성하는 제어구조
SQL 파싱의 종류
- Soft Parsing : Shared Pool에서 SQL 실행 계획을 발견하고 실행
SQL 작성 -> SQL 파싱 -> Shared Pool 캐시 존재 -> 발견한 실행계획으로 실행
- Hard Parsing : SQL이 캐싱돼 있지 않아 최적화 과정을 톤한 실행계획 생성
SQL 작성 -> SQL 파싱 -> Shared Pool 캐시 미존재 -> 최적화 -> 로우소스 생성 -> 실행
실행 과정을 보아도 Hard Parsing이 더많은 과정을 거치기때문에 더 느릴 수 밖에 없다.
'DB > Oracle' 카테고리의 다른 글
[DB] 옵티마이저(optimizer)란 무엇인가? (1) | 2024.03.18 |
---|---|
Oracle Error코드 종류 (0) | 2021.07.16 |
Comments