Для использования данного скрипта необходимо открыть SQL Qwery SQL Server Managment Studio у интересующей вас базы. И выполнить данный скрипт, который покажет каких индексов не хватает, это статистика собранная SQL Server. Следующий шаг необходимо в режиме конфигуратора 1С создать нужные индексы.
— Не забудьте поправить сценарий создания индексов,
— убрав лишние запятые или пустую инструкцию INCLUDE
SELECT OBJECT_NAME(d.object_id), [Рекомендуемый индекс]=
‘— CREATE INDEX [IX_’ + OBJECT_NAME(d.object_id) + ‘_’ +
CAST(d.index_handle AS nvarchar) + ‘] ON ‘ +
d.statement + ‘ (‘ + ISNULL(d.equality_columns,») +
‘, ‘ + ISNULL(d.inequality_columns,») +
‘) INCLUDE (‘ + ISNULL(d.included_columns,») + ‘);’,
[Число компиляций] = s.unique_compiles,
[Количество операций поиска] = s.user_seeks,
[Количество операций просмотра] = s.user_scans,
[Средняя стоимость ] = CAST(s.avg_total_user_cost AS int),
[Средний процент выигрыша] = CAST(s.avg_user_impact AS int)
FROM sys.dm_db_missing_index_groups g
JOIN sys.dm_db_missing_index_group_stats s ON s.group_handle = g.index_group_handle
JOIN sys.dm_db_missing_index_details d ON g.index_handle = d.index_handle
AND d.database_id = DB_ID()
order by /*1,*/ 7 desc, 6 desc
Очень Интересно на выходних нада будет обязательно попробовать поколдовать над базой даних. Если чеого из етого выйдет обязательно отпишусь
(1) Судя по коду скрипт считает количество обращений к тем или иным колонкам таблиц и сортирует необходимости индексирования. Было бы интересно сделать обработку выполняющую этот скрипт и выводящую не имена SQL-таблиц, а имена объектов метаданных
Спасибо.
Попробую на досуге.
(2) Артано, сделай (с) 🙂
Все данные для этого есть. Кроме того, тут встречал года полтора-два назад подобное.
Вот-с так с именами объектов метаданных.
В модуле формы в функции Подключение() надо поправить строку
cnn.connectionString = «SERVER=СЕРВЕРСКЛ; Database=ИМЯБАЗЫ; DRIVER=SQL Server; UID=ПОЛЬЗОВАТЕЛЬСКЛ; PWD=ПАРОЛЬСКЛ;»;
Подставить соответствующие значения.
В обработке есть неучтенки по метаданным, но их легко можно добавить имея руки
На чистоту и бережность кода не претендую — сделано из интереса на коленке.
(5) vpaull, спасибо)
(5) Поправил сортировку, добавил статистики
Для наглядности сформируйте отчет из разных баз данных на разных конфигурациях, чтобы показать целесообразность данной обработки.