Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Mesurer les performances des requêtes :coût de la requête du plan d'exécution par rapport au temps pris

La trace du profileur le met en perspective.

  • Requête A :1,3 seconde CPU, durée 1,4 seconde
  • Requête B :2,3 secondes de processeur, durée de 1,2 seconde

La requête B utilise le parallélisme :CPU > duréepar exemple, la requête utilise 2 processeurs, en moyenne 1,15 seconde chacun

La requête A n'est probablement pas :CPU

Cela explique le coût par rapport au lot :17 % du plan de requête plus simple et non parallèle.

L'optimiseur calcule que la requête B est plus chère et bénéficiera du parallélisme, même si cela demande un effort supplémentaire.

Rappelez-vous cependant que la requête B utilise 100 % de 2 processeurs (donc 50 % pour 4 processeurs) pendant environ une seconde. La requête A utilise 100 % d'un seul processeur pendant 1,5 seconde.

Le pic de la requête A est plus faible, au détriment d'une durée accrue.Avec un seul utilisateur, qu'importe ? Avec 100, ça fait peut-être une différence...