본문 바로가기

use-the-index-luke

D.10 Parsing

use-the-index-luke 저자 Markus Winand


Markus Winand는 SQL에 대한 통찰력을 제공하고 다양한 시스템이 SQL을 지원하는 방법을 modern-sql.com 에서 보여줍니다. 이전에 그는 use-the-index-luke.com 을 만들었는데, 지금도 활발하게 유지되고 있습니다. Markus는 winand.at 를 통해 강사, 연사 및 컨설턴트로 고용될 수 있습니다.


You can upload a Korean translation of use-the-index-luke.com on your blog

Thank you from the bottom of my heart to author Makus Winand for allowing me.

These are translations that I use for studying by using a papago (google translate)

The translations may not be correct or there may be a typo.

I'd appreciate it if you could point it out in the comments.



use-the-index-luke.com 의 한글번역본을 블로그에 업로드 해도 된다고

허락해주신 Makus Winand 저자님께 진심으로 감사합니다.

이 번역본들은 제가 공부용도로 번역기(papago, google transrate)를 돌려서

번역한 내용들이라 맞지 않거나, 오타가 있을수 있습니다.

댓글로 지적해주시면 감사하겠습니다.


https://use-the-index-luke.com/sql/glossary/parsing-query-planning-compiling

The term Parsing(Oracle), Query planing(PostgreSQL) 및 Compling(SQL Server)이 라는 용어는 SQL문을 실행 계획으로 변환하는 프로세스를 설명합ㄴ디ㅏ.

공유 실행 계획 캐시(shared execution plan cache)가 있는 데이터베이스에는 두 가지 구문 분석 단계가 있습니다:

Hard Parsing

하드 파싱은 SQL문을 기반으로 실행 계획을 구성하고 있습니다. SQL의 모든 부분을 검사하고, 모든 인덱스를 고려하고, 모든 조인 순서를 고려하는 등의 작업이 매우 중요합니다. 하드 파싱은 리소스 집약적입니다.

Soft Parsing

소프트 파싱은 캐시된 실행 계획을 검색, 발견 및 사용하는 것입니다. 액세스 권한과 같은 일부 사소한 검사가 수행되지만 실행 계획은 그대로 재사용할 수 있습니다.

그것은 꽤 빠른 작업입니다.

캐시의 키는 기본적으로 리터럴 SQL 문자열(일반적으로 해시)입니다. 정확한 일치 항목이 없으면 하드 파싱이 트리거됩니다. 그렇기 때문에 인라인 리터럴은 바인딩 매개 변수와 달리 동일한 검색 용어를 다시 사용하지 않는 한 하드 파싱를 트리거합니다.

그러나 이 경우에도 새로운 실행 계획이 반복적으로 발생하기 때문에 이전 실행 계획이 캐시에서 이미 만료되었을 가능성이 높습니다.


Link


'use-the-index-luke' 카테고리의 다른 글

D.11 Secondary Index  (0) 2024.04.02
D.9 Optimizer  (0) 2024.03.26
D.8 Index-Organized Table  (0) 2024.03.21
D.7 Index-Only Scan  (0) 2024.03.18
D.6 Index Filter Predicates  (1) 2024.03.14