SQL 처리 과정 및 용어 정리

별고리·2021년 9월 3일
1

DATABASE

목록 보기
1/1
post-thumbnail

해당 글은 MySQL, MariaDB를 기준으로 작성합니다.

SQL 처리 과정

sql 처리과정은 다음과 같이 이루어 집니다.

  1. Parsing: 구문 오류나, 존재하지 않는 테이블을 사용했는지 등을 검사합니다.
  2. Optimization: sql문을 가장 효율적으로 활용하기 위한 계획을 수립합니다.
  3. Row Source Generation: Optimization 이후 나온 실행 계획을 실제 수행 가능한 코드 프로시저로 변경해 줍니다.
  4. Execution: 데이터에서 불필요한 부분을 필터링하고 필요한 사용자에게 최종 결과를 전달합니다.

스토리지 엔진

사용자가 요청한 SQL을 가지고 데이터베이스에 저장된 데이터를 가져오는 역할을 수행하여 MySQL 엔진으로 보내줍니다.

스토리지 엔진의 종류

  • InnoDB 엔진: OLTP 환경에서 자주 사용합니다. 데이터 무결성을 보장해 줍니다.
  • MYISAM 엔진: 대량의 쓰기 트랜잭션이 발생할 때 사용하기 좋습니다. SELECT 속도가 상당히 빠른 편입니다.
  • Memory: 메모리 데이터를 빠르게 읽을 때 사용하기 좋습니다.

MySQL 엔진

사용자가 요청한 SQL 문을 받아 parsing과 Optimization을 진행하고 스토리지 엔진보낸 후, 스토리지 엔진에서 받은 데이터 중 불필요한 데이터를 가공하는 역할을 수행합니다.

프로세스 용어

  • Parser: MySQL 오브젝트로 SQL 최소 단위로 쪼개고 문법 검사를 수행합니다.

  • Preprocessor: MySQL 오브젝트로 SQL 문에 구조적인 문제가 없는지 확인해 줍니다.(Parsing)

  • Optimizer: DBMS에서 가장 중요한 역한을 수행하는 Optimizer는 최소 단위의 SQL 문을 받아 연산 과정을 단순화 하고 실행 계획을 수행합니다. (Optimization)

  • engine executor: Optimizer에서 실행 계획을 참고하여 스토리지 엔진에서 데이터를 받아옵니다.


참고한 서적
http://www.yes24.com/Product/Goods/102382080
참고 페이지
http://wiki.gurubee.net/pages/viewpage.action?pageId=24870953

수정할 부분이나 궁금하신게 있다면 언제나 질문해주세요!!!

profile
개발자입니다.

0개의 댓글