Использование SQL Profiler Express
Что такой SQL profiler

Это программа, которая умеет перехватывать все запросы, сделанные к данному инстансу SQL сервера, и отображать информацию о нем – непосредственно генерируемый SQL, время выполнения, количество чтения и записи.

Как с ним работать
Скачать его можно здесь.
Документация – https://expressprofiler.codeplex.com/discussions

Выглядит окно программы следующим образом:

В верхней части программы указываем имя сервера, Windows или SQL Server авторизацию, если SQL server – то имя пользователя и пароль для входа. После чего нажимаем Start trace. После этого любой запрос, сделанный к этом серверу будет отображен в списке.

Примечание:
если будет ошибка “Нет разрешения на запуск SP_TRACE_CREATE”, то нужно дать юзеру базы разрешение “ALTER TRACE”:
use master
GRANT ALTER TRACE TO rudenas2;

Описание колонок

Text data: текст перехваченного запроса
Login name: имя пользователя, который выполнял запрос
CPU: количество процессорного времени (в миллисекундах)
Reads: количество чтений с диска, выполненных сервером
Writes: количество записей на диск, выполненных сервером
Duration: продолжительность запроса (в миллисекундах)
SPID: идентификатор процесса сервера
Start time, End time – время начала и конца запроса

Анализ

В первую очередь надо искать самые большие по продолжительности запросы – именно они чаще всего бесполезно занимают потоки веб сервера, которые не могут завершить http запрос пока не получат результаты от базы. Затем смотреть, какие запросы занимают много процессорного времени – такие процессы могут напрасно расходовать ресурсы системы.

Что делать после
В первую очередь проверить, что не выполняется лишних дополнительных запросов – т.е. вся информация из таблицы читается одним запросом за раз.

Если дополнительных запросов нет, но основной запрос выполняется достаточно медленно, надо проверить план его выполнения. Это можно сделать следующим образом:

Скопировать нужный запрос в SQL Server Management Studio
Выбрать Запрос – Показать предполагаемый план выполнения

После чего будет показан план запроса. Выглядит это так.

В данном случае видим, что для выполнения запроса делается четыре поиска только по кластерному индексу, т.е. здесь мы уже ничего оптимизировать не можем. Если будет выполняться поиск по колонке, особенно текстовой, надо подумать над перестройкой запроса.

Периодически мы проводим обучение и даем возможность стажировки на базе нашей платформы с управлением на SQL. Если вам это интересно, то пожалуйста посмотрите информацию об обучении/стажировке по SQL.

Руслан Раянов

Recent Posts

Что важно учесть в системе обработки заказов? Проблемы системы заказов

https://falconspace.ru/blog/sozdanie-sistemy-upravleniya-zakazami-v-vide-lichnykh-kabinetov-na-sayte - Система управления заказами на предприятии. Разработка автоматизированной системы заказов

2 недели ago

Ошибки при запуске маркетплейса

Запуск собственного маркетплейса — это захватывающий, но сложный процесс, который требует внимания к деталям и…

2 недели ago

Что такое онлайн система заказов?

https://falconspace.ru/blog/sozdanie-sistemy-upravleniya-zakazami-v-vide-lichnykh-kabinetov-na-sayte - Система управления заказами на предприятии. Разработка автоматизированной системы заказов

2 недели ago

Причины неудачи it проекта

https://falconspace.ru/blog/chto-delat-kogda-startap-ne-poshel - Причины неудачи it проекта. Как реанимировать веб-проект?

2 недели ago

Меры по обеспечению доступности сайта

https://falconspace.ru/blog/kak-zashchitit-sayt--obespechenie-informacionnoy-bezopasnosti-sayta - Как защитить сайт? Обеспечение информационной безопасности сайта

3 недели ago

Меры по обеспечению целостности информации на сайте

https://falconspace.ru/blog/kak-zashchitit-sayt--obespechenie-informacionnoy-bezopasnosti-sayta - Как защитить сайт? Обеспечение информационной безопасности сайта

4 недели ago