Atualmente, estou estudando para o SQL 70-433 (o exame de certificação da Microsoft) e estou ficando muito confuso sobre a métrica de desempenho "custo de consulta".
De acordo com qualquer documentação que eu pudesse encontrar via Google, o custo da consulta é um valor percentual e representa a porcentagem de todo o lote ocupado por qualquer parte dele. Isso já me pareceu um pouco estranho, pois estou interessado no mérito absoluto de uma consulta específica, e não no mérito relativo a outras consultas que aparecem ao lado.
Mas então pensei: talvez o que você deva fazer seja colocar duas consultas alternativas lado a lado, executá-las como "um lote" e, em seguida, a que tiver um custo menor que 50% será a vencedora.
Mas a discussão sobre o custo da consulta no capítulo 6, lição um do SQL 70-433 Training Kit da Microsoft não parece ter relação alguma com isso.
Aqui está um exemplo: Eles mostram uma consulta contendo duas subconsultas correlacionadas e, em seguida, aprimoram-na substituindo as subconsultas por uma APLICAÇÃO EXTERNA. O resultado: "Esta consulta tem um custo de aproximadamente 76, enquanto o custo da primeira consulta foi o dobro, cerca de 151". Eles melhoram ainda mais a consulta e reduzem o custo de 76 para 3,6. Eles não implicam que esses números sejam porcentagens, enquanto que eles são absolutos que se relacionam à consulta como um objeto independente, sem referência a outras consultas. De qualquer forma, como a primeira consulta poderia ter um custo de 151%?
Mais adiante neste capítulo, eles mostram uma captura de tela de um plano de execução com três partes. O primeiro diz "Custo: 0%", o segundo diz "Custo: 1%" e o último diz "Custo: 99%", mas o texto (do livro em si) abaixo da captura de tela "O custo desta consulta é 0,56" . Suponho que eles significam algum outro tipo de custo, mas não consigo encontrar referência a ele em nenhum outro lugar.
Alguém pode ajudar? Estou completamente confuso.