MySQL Server 의 구조와 동작 방식

img.png

쿼리 파서와, 전처리기, 옵티마이저의 모든 상세한 기능을 깊이 있게 학습하는 데에는 무리가 있지만 기본적으로 위의 그림을 통해 MySQL Server 가 Client(my server) 와 SQL 형식으로 메세지를 받은 뒤, 이를 어떻게 처리하는지는 알아둘 필요가 있다. 예를 들어, Optimizer 가 반드시 최적의 방법으로 쿼리 수행 전략을 짜는 것은 아니기 때문에 이러한 경우 힌트 제공을 통해 최적화를 할 수 있는데, 서버 성능의 최적화가 필요한 시점이 되면 이런 부분을 미리 알고 있다면 성능 저하의 원인을 추적하는 데에 도움이 될 것 같다.

Mysql Engine

Query Parser Preprocessor Optimizer Execution Engine
SQL 을 syntax tree 로 파싱 syntax tree 바탕으로 전처리 쿼리 수행 전략을 결정 Storage Engine 에게 최종 결정된 쿼리를 요청
문법 오류 체크 table, column 의 존재 여부, 권한 여부, Semantic 오류 체크 쿼리 수행을 위한 여러 방법 수립, 각 방법에 대한 비용 산정  

comments powered by Disqus