sql >> Database >  >> RDS >> Sqlserver

Queryprestaties meten:uitvoeringsplan Querykosten versus benodigde tijd

De profiler-tracering plaatst het in perspectief.

  • Query A:1,3 sec CPU, 1,4 sec duur
  • Query B:2,3 sec CPU, 1,2 sec duur

Query B gebruikt parallellisme:CPU> duur:de query gebruikt 2 CPU's, gemiddeld 1,15 seconden per stuk

Vraag A is waarschijnlijk niet:CPU

Dit verklaart de kosten ten opzichte van batch:17% van de kosten voor het eenvoudigere, niet-parallelle queryplan.

De optimizer komt erachter dat query B duurder is en baat zal hebben bij parallellisme, ook al kost het extra inspanning om dit te doen.

Onthoud echter dat query B 100% van 2 CPU's gebruikt (dus 50% voor 4 CPU's) gedurende een seconde of zo. Query A gebruikt 100% van een enkele CPU gedurende 1,5 seconde.

De piek voor zoekopdracht A is lager, ten koste van een langere duur. Met één gebruiker, wat maakt het uit? Met 100 maakt het misschien een verschil...



  1. Stuurprogramma JDBC PostgreSQL met Android

  2. Exclusief! Doe mee met onze gast Michal Bar, Access Program Manager

  3. 3 manieren om een ​​reeks van meerdere spaties in SQL Server te retourneren

  4. Een deel van een string vervangen in T-SQL