sql >> Databasteknik >  >> RDS >> Sqlserver

Mätning av frågeprestanda:Exekveringsplan för frågekostnad kontra tid

Profileringsspåret sätter det i perspektiv.

  • Fråga A:1,3 sekunder CPU, 1,4 sekunders varaktighet
  • Fråga B:2,3 sekunder CPU, 1,2 sekunders varaktighet

Fråga B använder parallellism:CPU> varaktighet, t.ex. frågan använder 2 processorer, i genomsnitt 1,15 sekunder vardera

Fråga A är förmodligen inte:CPU

Detta förklarar kostnaden i förhållande till batch:17 % av för den enklare, icke-parallella frågeplanen.

Optimeraren räknar ut att fråga B är dyrare och kommer att dra nytta av parallellitet, även om det kräver extra ansträngning att göra det.

Kom dock ihåg att fråga B använder 100 % av 2 processorer (så 50 % för 4 processorer) under en sekund eller så. Fråga A använder 100 % av en enda CPU i 1,5 sekunder.

Toppen för fråga A är lägre, på bekostnad av ökad varaktighet. Med en användare, vem bryr sig? Med 100 kanske det gör skillnad...



  1. Ställ in språket som används för datum- och tidsfunktioner i MariaDB

  2. Få flera värden i SQL Server Cursor

  3. Intressanta saker om Istället för triggers

  4. Dolda funktioner i PostgreSQL