Neste plano de consulta:
https://www.brentozar.com/pastetheplan/?id=HydtQjsO5
...vários nós têm um custo de 100%. Como isso acontece? Como você descobre por onde começar a otimizar quando tantos nós têm o que deve ser um custo errado? Existe algo mais para usar em vez do percentual de custo?
O custo é baseado em estimativas e, muitas vezes, quando essas estimativas dão errado, você obtém um plano lento - portanto, não é uma boa ideia basear sua segmentação de ajuste nelas.
Use o tempo real decorrido. Isso é coletado para você quando você usa o botão Incluir plano de execução real no SSMS. Talvez seja necessário examinar a saída XML para ver os horários, dependendo da versão do SSMS.
Isso foi explicado pela Microsoft em resposta a um relatório de bug :
O custo estimado é usado pelo otimizador para escolher entre diferentes operadoras de planos no contexto de seu modelo de custo. É muito improvável que seu sistema tenha as mesmas características de desempenho físico do modelo.
Existem muitas métricas diferentes importantes no ajuste de consultas, dependendo de seus objetivos. Você pode optar por levar em conta algumas ou todas as leituras físicas, consumo de memória, uso da CPU e tempo decorrido para formar uma opinião completa. Minha métrica principal pessoal é o tempo de CPU na maioria dos casos.