Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Medindo o desempenho da consulta:custo da consulta do plano de execução versus tempo gasto


O rastreamento do criador de perfil o coloca em perspectiva.
  • Consulta A:CPU de 1,3 segundos, duração de 1,4 segundos
  • Consulta B:CPU de 2,3 segundos, duração de 1,2 segundos

A consulta B está usando paralelismo:CPU> duração, por exemplo, a consulta usa 2 CPUs, média de 1,15 segundos cada

A consulta A provavelmente não é:CPU
Isso explica o custo relativo ao lote:17% do plano de consulta mais simples e não paralelo.

O otimizador descobre que a consulta B é mais cara e se beneficiará do paralelismo, mesmo que isso exija um esforço extra.

Lembre-se, porém, que a consulta B usa 100% de 2 CPUs (portanto, 50% para 4 CPUs) por um segundo ou mais. A consulta A usa 100% de uma única CPU por 1,5 segundos.

O pico da consulta A é menor, em detrimento do aumento da duração. Com um usuário, quem se importa? Com 100, talvez faça a diferença...