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/explain-plan/sql-server/getting-an-execution-plan
ㄴ실행계획 가져오기
SQL Server에서는 실행 계획을 가져오는 몇 가지 방법이 있습니다. 가장 중요한 두가지 방법은 다음과 같습니다:
Graphically
SQL Server 실행 계획의 그래픽 표현은 Management Studio 에서 쉽게 액세스할 수 있지만 마우스를 particular operation ("hover") 위로 이동할 때만 predicate information가 표시되기 때문에 공유하기가 어렵습니다.
Tabular
표 형식의 실행 계획은 읽기 어렵지만 모든 관련 정보를 한 번에 보여주기 때문에 복사하기가 쉽습니다.
Graphically
그래픽 설명 계획은 아래에 강조 표시된 두 개의 버튼 중 하나로 생성됩니다.
왼쪽 버튼은 강조 표시된 문을 직접 설명합니다. 권한은 다음 번에 SQL 문이 실행될 때 계획을 캡처합니다.
두 경우 모두 실행 계획의 그래픽 표현이 "Results" 창의 "Execution plan" 탭에 나타납니다.
그래픽 표현은 조금만 연습하면 쉽게 읽을 수 있습니다. 그럼에도 불구하고 가장 기본적인 정보, 즉 작업 및 작업이 수행하는 테이블 또는 인덱스만 표시됩니다.
Management Studio(관리 스튜디오)는 마우스를 작업 위로 이동할 때 추가 정보를 표시합니다(마우스로 이동/이동). 따라서 실행 계획을 모든 세부 정보와 공유하기가 어렵습니다.
Tabular
SQL Server 실행 계획의 표 형식은 문 실행을 프로파일링하여 가져옵니다. 다음 명령을 사용하면 활성화됩니다:
SET STATISTICS PROFILE ON
실행된 각 문은 추가 결과 집합을 생성합니다. 예를 들어, select 문은 두 개의 결과 집합, 즉 먼저 문의 결과를 생성한 다음 실행 계획을 생성합니다.
StmtText 가 너무 넓어서 화면에 맞지 않기 때문에 표 형식의 실행 계획은 SQL Server Management Domino에서 거의 사용할 수 없습니다
이 표현의 장점은 관련 정보를 잃지 않고 복사할 수 있다는 것입니다. 포럼이나 유사한 플랫폼에 SQL Server 실행 계획을 게시하려는 경우 매우 유용합니다. 이 경우 StmtText 열을 복사하여 조금만 다시 포맷하면 됩니다:
select COUNT() from employees; |--Compute Scalar(DEFINE:([Expr1004]=CONVERT_IMPLICIT(...)) |--Stream Aggregate(DEFINE:([Expr1005]=Count())) |--Index Scan(OBJECT:([employees].[employees_pk]))
마지막으로 프로파일링을 다시 비활성화할 수 있습니다:
SET STATISTICS PROFILE OFF
'use-the-index-luke' 카테고리의 다른 글
A.5-3 (SQL Server) Access vs. filter predicates (0) | 2024.01.15 |
---|---|
A.5-2 (SQL Server) Operations (1) | 2024.01.11 |
A.5 SQL Server (0) | 2024.01.05 |
A.4-3 (Postgre) Access vs. filter predicates (1) | 2024.01.03 |
A.4-1 (Postgre) Getting (1) | 2023.12.28 |