Как замерить время выполнения sql запроса
Иногда требуется понять какая часть в большом скрипте начинает проседать по скорости выполения. Первый вариант - это посмотреть план запроса.
Второй вариант - расставить в скрипте метки времени. Этот вариант и рассмотрим здесь.
Создаем функцию:
Create or ALTER FUNCTION [dbo].[as_sec] -- для вывода в print сколько секунд прошло
(
@text as nvarchar(max),
@start datetime
)
RETURNS varchar(max)
AS
BEGIN
DECLARE @res as nvarchar(max)=
cast(cast(DATEDIFF(millisecond,@start,getdate())/1000.0 as decimal(18,2)) as nvarchar) + ' sec - ' + @text
RETURN @res
END
Используем функцию:
DECLARE @t1 DATETIME = Getdate();
print [dbo].[as_sec] ('start', @t1)
select top 400 * from as_trace
print [dbo].[as_sec] ('after select 1', @t1)
select top 1000 * from as_trace
print [dbo].[as_sec] ('after select 2', @t1)
select top 20 * from as_trace
print [dbo].[as_sec] ('after select 2', @t1)
И получаем такой результат:
Таким образом наглядно видно, где возникает основная проблема по времени выполнения скрипта.
Что еще посмотреть по SQL Server
SQL. Как работать с датами в SQL Server
SQL Server. Как переносить на новую строку в строковой переменной в SQL
SQL. Вывод разметки HTML в сыром виде (в виде тегов) в SQL
SQL. Как привести дату в строку в нужный формат в SQL Server
SQL. Как использовать select from Хранимка
SQL. Как прописью написать число в SQL
SQL. Как массово залить данные в таблицу БД через CSV (Excel)
SQL. Как перенести сложный тип данных на другую базу
SQL. Как перевести дату JS в дату SQL
SQL. Как выводить окончание у множественного числа (5 заказОВ, 3 заказА)
Настройка полнотекстового поиска fulltext search в SQL Server
Разработчик SQL, нужны клиенты и заказы?
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта