이 SQL Server의 비용 백분율이 유효한 이유로 100 % 이상 계획되어 있습니까?


13

나는 계획 캐시를 통해 낮은 매달려있는 최적화 과일을 찾고이 스 니펫을 발견했습니다.

여기에 이미지 설명을 입력하십시오

많은 비용이 100 % 이상인 이유는 무엇입니까? 불가능하지 않아야합니까?


심지어 예상 계획에서 최대 1mill %의 비용을 보았습니다. 실제 비용 만 사용하면 더 좋습니다.
Marian

5
SQL Server의 수학이 엉망이기 때문입니다. 우리의 무료 계획 탐색기를 잡아 ; 이 문제는 없습니다.
Aaron Bertrand

저는 SQL Sentry Plan Explorer 인 Aaron을 좋아합니다. 한동안 사용해 왔습니다. 프로 버전의 기능을보고 싶습니다!
Max Vernon

답변:


12

시각적 비용 견적은 쓰레기입니다. 이런 종류의 일은 항상 일어난다. 가장 비싼 것이 가장 비싸고 먼저 공격하십시오.


이전 버전의 SQL Server에서 이것을 본 적이 있습니까? 내가 걱정하는 한, SS 2008R2에서 예를 들어 본 적이 없습니다.
KookieMonster

5
SQL 2000으로 돌아가는 것을 보았습니다. 내가 아는 한, 백분율을 알아 내기 위해 수학을 할 때 SSMS (및 EM)의 버그 일뿐입니다.
mrdenny

2

또한 때때로 일부 비용이 100 %, 200 %, 300 % 등으로 표시되는 이유가 궁금합니다. 쿼리 계획의 xml 파일을 분석 한 후 얻었습니다.

비용 비율 = 내 EstimatedTotalSubtreeCost/ 부모 노드EstimatedTotalSubtreeCost

예를 들어 검색어 계획에 Clustered Index Insert따라이 비율을 계산하는 방법을 이해하려면 비용 914 %가 소요됩니다. 1. Move mouse to `Clustered Index Insert` to show popup, you can see the cost `EstimatedTotalSubtreeCost`, e.g, 0.2 2. Move mouse to this node's parent node `COND WITH QUERY`, check the popup to get `EstimatedTotalSubtreeCost`, e.g, 0.0218818 3. Calculate 0.2/0.0218818 = 914%, this is the cost percentage displayed in `Clustered Index Insert` popup


1
0.002/2.18입니다 0.000917(와 동일 0.0917%) 및 아닙니다 914%.
ypercubeᵀᴹ

당신의 의견에 감사드립니다. 답변을 수정하겠습니다. 결국, 백분율 계산 방법을 보여주는 샘플 일뿐입니다.
osexp2003
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.