이 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.