SQL 에 사용자가 쿼리를 날리면 어떤 동작과정이 있을까? 너무 딥다이브 하게는 어려울꺼 같고, Real MySQL 을 보면서 간단한 동작을 공부했던걸 정리해보려고 한다. 위와 같이 사용자가 DB 에 쿼리를 날리는 상황이라고 해보자. 일단 대부분의 컴파일 언어처럼 SQL 도 쿼리 컴파일러를 통해서 SQL 쿼리를 트리형태로 파싱한다. 이 파싱해 내는 과정에서 기본 문법 오류들을 짚어낸다. 이해하기 쉽게 대략적으로 요런식이라고 그려보았다. 근데 틀린 내용이 있으니 감안하고, 대충 이런식으로 토큰 처럼 만든다고 이해를 해주면 좋을 것 같다. 그럼 다음단계로 넘어가면, 전처리기 과정이다. 전처리기는 첫번째 단계에서 만들어진 파서트리를 바탕으로 쿼리문장에 구조적인 문제가 있는지 확인한다. 각 토큰을 컬럼이나 테이..