Estoy mirando a través del caché del plan, buscando fruta de optimización de bajo perfil y encontré este fragmento:
¿Por qué muchos de los costos están por encima del 100%? ¿No debería ser eso imposible?
Estoy mirando a través del caché del plan, buscando fruta de optimización de bajo perfil y encontré este fragmento:
¿Por qué muchos de los costos están por encima del 100%? ¿No debería ser eso imposible?
Respuestas:
El estimador visual de costos es una mierda. Este tipo de cosas sucede todo el tiempo. Simplemente ir con los más altos son los más caros y atacar a los primeros.
También tenía curiosidad acerca de por qué a veces algunos costos se muestran como 100%, 200%, 300% ... e incluso más. Después de analizar el archivo xml del plan de consulta, lo obtuve.
El porcentaje de costo = mi EstimatedTotalSubtreeCost
/ nodo principalEstimatedTotalSubtreeCost
Por ejemplo, su plan de consulta muestra Clustered Index Insert
un costo de 914%, para comprender cómo calcula este porcentaje,
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
0.002/2.18
es 0.000917
(que es lo mismo que 0.0917%
) y no 914%
.