Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Измерване на ефективността на заявката:Разходи за заявка на план за изпълнение спрямо отнето време

Проследяването на профайлъра го поставя в перспектива.

  • Заявка A:1,3 секунди процесор, 1,4 секунди продължителност.
  • Заявка B:2,3 секунди процесор, 1,2 секунди продължителност.

Заявка B използва паралелизъм:CPU> durationeg, заявката използва 2 CPU, средно 1,15 секунди всяка

Заявка А вероятно не е:CPU

Това обяснява разходите спрямо пакета:17% от за по-простия, непаралелен план за заявки.

Оптимизаторът установява, че заявка Б е по-скъпа и ще се възползва от паралелизма, въпреки че са необходими допълнителни усилия за това.

Не забравяйте обаче, че заявка B използва 100% от 2 CPUS (така че 50% за 4 CPU) за една секунда или така. Заявка A използва 100% от един процесор за 1,5 секунди.

Пикът за заявка А е по-нисък, за сметка на увеличената продължителност. На кой му пука при един потребител? Със 100 може би има разлика...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заявка в множество бази данни на един и същ сървър

  2. Как работи функцията SOUNDEX() на SQL Server

  3. Защо и кога LEFT JOIN с условие в клауза WHERE не е еквивалентно на същото LEFT JOIN в ON?

  4. Кога трябва да използвам променлива на таблица срещу временна таблица в sql сървър?

  5. Как да пренапишем Е РАЗЛИЧНО ОТ и НЕ Е РАЗЛИЧНО ОТ?