Postgresql의 처리순서도에 대해 알아보도록 하겠습니다.
SQL을 입력하고 나면, Parser 라는 곳에서 postgresql에 맞는 언어와 문법인지 확인
(참조하는 테이블의 권한 여부 및 오타, 문법 등을 확인)
문법 확인 후, 특별한 문제가 없으면 SQL을 어떻게 실행지 계획을 세우게 됨
계획 세우는 곳이 Planner 이다.
(사전에 정리된 통계정보를 가지고 어떻게 실행하는 것이 최고의 실행인지를 계획하는 곳)
일반 개발자들이 무시하는 곳이기도 하지만, 일반 개발자는 Parser만 되면 OK 라고 한다.
계획을 세우고 나면, 데이터 저장소로 부터 데이터를 가지고 옴
물론 메모리에 있는 경우에는 메모리로 부터 가지고 오게 된다.
메모리의 예를 들어보면 똑같은 SQL을 처음 시작할 때와 2번째 실행할 때의 처리시간이 다른 것을 알 수가 있다. (2번째 SQL을 수행하면 메모리에 이미 적재된 데이터를 가지고 오기 때문에 처음 수행할 때보다 빠른 것이다.)
Executor을 하고 나면 그 이후에 결과 값을 화면에 뿌려주게 된다.
SQL 처리 순서도는 DB가 성능이 떨어졌을 때 어디를 봐야 하는가를 알아보기 위함이기 때문에 중요하다.
posted by. 신기철 (11.27)
'2. DBMS이야기 > 01. PostgreSQL' 카테고리의 다른 글
pgcrypto 확장 모듈을 이용한 oracle DBMS_CRYPTO 패키지 이용하는 함수들 마이그레이션 (1) | 2016.03.28 |
---|---|
pgbench를 이용한 데이터베이스 성능 검사 (0) | 2016.03.21 |
훨씬 간편해진 Postgres 백업과 복구 (0) | 2014.11.27 |
PostgreSQL PPAS Streaming Replication (0) | 2014.11.26 |
PostgreSQL PPAS 특장점 소개 (0) | 2014.11.26 |