mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-18 13:44:12 +00:00
Форма выбора объектов метаданных
*Исправлено вычисление количества строк кнопкой "Количество" у табличных частей и перерасчетов
Общее
*Исправлены ошибки при работе с наборами записей перерасчетов
*Исправлена ошибка обработки отказа от записи при наличии ссылки на объект БД в дополнительных свойствах объекта
+В форме настроек подключения к СУБД собственной базы добавлен режим выполнения запросов непосредственно с сервера 1С
Статистика по запросам MSSQL
+Добавлено подменю вариантов отчета
+Добавлена кнопка передачи компоновки отчета в консоль компоновки
+Добавлена кнопка передачи запроса отчета в консоль запросов
Консоль кода
*Исправлена команда "В однострочный" для выделенного фрагмента
Консоль запросов
+На закладке "Запрос результата" добавлена кнопка "Статистика MSSQL" для открытия инструмента "Статистика по запросам MSSQL" с передачей интервала последнего выполнения запроса
*Исправлена потеря регистра букв имен на закладке "Временные таблицы" в некоторых случаях в режиме дерева запроса
Тестирование метаданных
*Исправлена ошибка тестирования элементов управления управляемых форм
Поиск дублей и замена ссылок
*Исправлено заполнение колонки "Ценность данных" кнопкой "обновить ценность" на закладке "Группы дублей"
Конструктор запроса
*Исправлено попадание элементов отбора с агрегатами в некоторых случаях в секцию ГДЕ вместо ИМЕЮЩИЕ при сборке текста
*Исправлено в некоторых случаях некорректное преобразование константного правого значения элемента условия в параметр
Структура хранения БД
+Добавлена кнопка "Описание шаблонов ИТС"
Редактор объекта БД
+На закладке "Связанные колонки" добавлено групповое изменение пометок
+В списке реквизитов добавлена колонка "Зависит от" для отражения связей параметров выбора
*Исправлена работа связей параметров выбора сломанная несколько версий назад
+Добавлена команда выгрузки избранных связанных колонок
+При загрузке объекта из памяти теперь считываются дополнительные свойства в одноименную таблицу на форме
*Исправлена ошибка при выборе метассылок (например перечислений) внесенная несколько версий назад
Подбор и обработка объектов
*Исправлена ошибка обработки строк некоторых регистров
+В обработке "Добавить/изменить строку" добавлена колонка "Зависит от" для отражения связей параметров выбора
Консоль заданий
+Добавлена команда перехода к методу из списка фоновых заданий
+Для фонового задания сделана полноценная форма
*Список методов теперь сортируется по алфавиту
+В списке методов добавлены колонки "Последний конец" и "Возраст, м"
+Добавлен режим автообновления для списка методов
Редактор хранилищ настроек
+Добавлены команды выгрузки/загрузки выделенных настроек в/из файла
+Добавлена команда установки отбора по настройкам инструментов разработчика
Анализ техножурнала
+При загрузке логов с отбором теперь выводится сообщение с представлением фильтра
+Добавлен фильтр по типу события на этапе загрузке логов
59 lines
2.7 KiB
Plaintext
59 lines
2.7 KiB
Plaintext
select top 111
|
|
creation_time
|
|
, last_execution_time
|
|
, plan_generation_num as PlanRecompiles
|
|
, total_logical_reads as LogicalReads
|
|
, total_logical_writes as LogicalWrites
|
|
, execution_count as Count
|
|
, total_elapsed_time/1000 as TotExecTime
|
|
, total_elapsed_time/execution_count/1000 AS AvgExecTime
|
|
, total_worker_time/1000 as TotCPUTime
|
|
, total_worker_time/execution_count/1000 as AvgCPUTime
|
|
, CASE WHEN total_elapsed_time > total_worker_time OR total_elapsed_time = 0 THEN 1.0
|
|
ELSE CAST(total_worker_time*1.0/ total_elapsed_time AS NUMERIC(5,1))
|
|
END as ParallelRatio
|
|
, CASE WHEN total_elapsed_time - total_worker_time < 0 THEN 0
|
|
ELSE (total_elapsed_time - total_worker_time)/1000
|
|
END as TotWaitTime
|
|
, CASE WHEN total_elapsed_time - total_worker_time < 0 THEN 0
|
|
ELSE (total_elapsed_time - total_worker_time)/execution_count/1000
|
|
END as AvgWaitTime
|
|
, total_logical_reads+total_logical_writes as TotIO
|
|
, CAST((total_logical_reads+total_logical_writes+0.0)/execution_count AS NUMERIC(15,2)) as AvgIO
|
|
, DATEDIFF(minute, creation_time, last_execution_time) as PeriodMinute
|
|
, CASE WHEN DATEDIFF(minute, creation_time, last_execution_time) = 0 THEN 0
|
|
ELSE CAST(execution_count *1.0/ DATEDIFF(minute, creation_time, last_execution_time) AS NUMERIC(15,2))
|
|
END AS CountPerMinute
|
|
, CASE WHEN DATEDIFF(minute, creation_time, last_execution_time) = 0 THEN 0
|
|
ELSE (total_logical_reads+total_logical_writes) / DATEDIFF(minute, creation_time, last_execution_time)
|
|
END AS IOPerMinute
|
|
, CASE WHEN DATEDIFF(minute, creation_time, last_execution_time) = 0 THEN 0
|
|
ELSE CAST(total_worker_time*1.0/ DATEDIFF(minute, creation_time, last_execution_time)/1000 AS NUMERIC(15,2))
|
|
END AS CPUPerMinute
|
|
, CASE WHEN DATEDIFF(minute, creation_time, last_execution_time) = 0 THEN 0
|
|
ELSE CAST(total_elapsed_time*1.0 / DATEDIFF(minute, creation_time, last_execution_time)/1000 AS NUMERIC(15,2))
|
|
END AS ExecPerMinute
|
|
, case when sql_handle IS NULL
|
|
then ' '
|
|
else substring(st.text, (qs.statement_start_offset+2)/2,
|
|
(case
|
|
when qs.statement_end_offset = -1 then
|
|
100000
|
|
else
|
|
qs.statement_end_offset
|
|
end - qs.statement_start_offset)
|
|
/2 + 1)
|
|
end as query_text
|
|
, st.objectid as object_id
|
|
, qp.query_plan as query_plan
|
|
, ISNULL(st.dbid,CONVERT(SMALLINT,att.value)) AS my_dbid
|
|
FROM sys.dm_exec_query_stats AS qs
|
|
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS st
|
|
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
|
|
CROSS APPLY sys.dm_exec_plan_attributes(qs.plan_handle) att
|
|
WHERE att.attribute='dbid'
|
|
and (total_logical_reads > 0 or total_logical_writes > 0)
|
|
and DATEDIFF(minute, last_execution_time, CURRENT_TIMESTAMP) < 333
|
|
and last_execution_time >= CAST('1111-11-11 11:11:11' AS datetime)
|
|
and last_execution_time <= CAST('2222-22-22 22:22:22' AS datetime)
|
|
and att.value = DB_ID() |