Search

Query 작동 순서

태그
1.
SQL 문장 분석(SQL Statement Parrsing)
a.
먼저 MySQL 서버는 사용자가 입력한 SQL Query 문장을 분석합니다. 이 단계에서 문법 오류를 확인하고 쿼리의 구조를 파악합니다.
2.
옵티마이저 (Query Optimizer) 수행
a.
SQL Query는 최적화 과정을 거칩니다. 최적화 과정에서는 다양한 실행 계획을 고려하여 가장 효율적인 방식으로 쿼리를 실행하는 방법을 결정합니다.
3.
실행 계획 생성 (Execution Plan Generation)
a.
최적화 과정 이후, MySQL은 실제로 어떻게 쿼리를 실행할지에 대한 실행 계획을 생성합니다. 이 실행 계획은 쿼리 실행에 필요한 단계와 절차를 정의합니다.
4.
데이터 검색 및 조작 (Data Retrieval and Manipulation)
a.
생성된 실행 계획을 기반으로 MySQL은 데이터베이스에서 필요한 데이터를 검색하거나 조작합니다. SELECT 문인 경우 데이터를 검색하고, INSERT, UPDATE, DELETE 문인 경우 데이터를 추가, 업데이트 또는 삭제합니다.
5.
결과 반환 (Result Return)
a.
쿼리의 실행이 완료되면 MySQL은 결과를 클라이언트에게 반환합니다. 이 결과는 요청된 데이터 또는 작업의 성공 또는 실패 여부와 함꼐 전송됩니다.
6.
트랜잭션 관리 (Transaction Management)
a.
쿼리 실행이 트랜잭션 내에서 수행되는 경우, MySQL은 트랜잭션 관리를 수행합니다. 이 단계에서 트랜잭션의 커밋 또는 롤백을 처리하여 데이터 일관성을 유지합니다.
SQL 문장 분석 과정에서 MySQL 서버와 같은 DBMS는 하드디스크에 저장한다고 들었는데 먼저 SQL 문장이 들어왔을떄 해당 명령을 담는 공간은 Ram인가?
⇒ DBMS는 사용자로부터 SQL 문장을 받으면 메모리에 로드하고 분석 및 처리하기 위해 메모리 내에서 작업을 수행 메모리에 데이터를 유지하면 디스크로의 입출력 횟수를 줄일 수 있어서 데이터베이스 작업이 더 빠르게 처리됨
⇒ 데이터베이스 서버는 자주 액세스 되는 데이터나 쿼리 결과를 메모리에 캐싱하여 응답 시간을 최소화
DBMS 내용에 넣어두자
실행 계획 생성에서 쿼리 실행에 필요한 단계와 절차를 결정한다고 했는데 어떤식으로 결정을 하는가