Скрипт SQL для оптимизации базы 1c

20.07.13

База данных - HighLoad оптимизация

Скрипт, помогающий создать нужные индексы, улучшающие работу базы 1С.

Для использования данного скрипта необходимо открыть 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

См. также

Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    3583    spyke    28    

47

Быстродействие типовой 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    5538    vasilev2015    19    

38

Анализируем SQL сервер глазами 1С-ника

HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих зааросов на sql, ожиданий, конвертация запроса в 1с и рекомендации где может тормозить

1 стартмани

15.02.2024    8291    168    ZAOSTG    74    

101

Удаление строк из таблицы значений различными способами с замером производительности

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    6572    doom2good    48    

64

Опыт оптимизации 1С на PostgreSQL

HighLoad оптимизация Бесплатно (free)

При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.

20.11.2023    9403    ivanov660    6    

76

ТОП проблем/задач у владельцев КОРП лицензий 1С на основе опыта РКЛ

HighLoad оптимизация Бесплатно (free)

Казалось бы, КОРП-системы должны быть устойчивы, быстры и надёжны. Но, работая в рамках РКЛ, мы видим немного другую картину. Об основных болевых точках КОРП-систем и подходах к их решению пойдет речь в статье.

15.11.2023    5349    a.doroshkevich    20    

72

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16593    skovpin_sa    14    

101
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dyak84 23.07.13 17:24 Сейчас в теме
Очень Интересно на выходних нада будет обязательно попробовать поколдовать над базой даних. Если чеого из етого выйдет обязательно отпишусь
+
2. Артано 762 24.07.13 05:52 Сейчас в теме
(1) Судя по коду скрипт считает количество обращений к тем или иным колонкам таблиц и сортирует необходимости индексирования. Было бы интересно сделать обработку выполняющую этот скрипт и выводящую не имена SQL-таблиц, а имена объектов метаданных
+
4. DenisCh 24.07.13 09:20 Сейчас в теме
(2) Артано, сделай (с) :-)
Все данные для этого есть. Кроме того, тут встречал года полтора-два назад подобное.
+
3. KroVladS 34 24.07.13 09:09 Сейчас в теме
Спасибо.
Попробую на досуге.
+
5. vpaull 14 25.07.13 20:11 Сейчас в теме
Вот-с так с именами объектов метаданных.
В модуле формы в функции Подключение() надо поправить строку
cnn.connectionString = "SERVER=СЕРВЕРСКЛ; Database=ИМЯБАЗЫ; DRIVER=SQL Server; UID=ПОЛЬЗОВАТЕЛЬСКЛ; PWD=ПАРОЛЬСКЛ;";

Подставить соответствующие значения.

В обработке есть неучтенки по метаданным, но их легко можно добавить имея руки
На чистоту и бережность кода не претендую - сделано из интереса на коленке.
Прикрепленные файлы:
CratosX; +1
6. smielka 131 27.07.13 22:28 Сейчас в теме
7. Артано 762 31.07.13 08:13 Сейчас в теме
(5) Поправил сортировку, добавил статистики
Прикрепленные файлы:
СтруктураИндексы.erf
Bor_ka; lap_soft; dimisa; CratosX; +4
8. isn 15 06.09.13 11:35 Сейчас в теме
Для наглядности сформируйте отчет из разных баз данных на разных конфигурациях, чтобы показать целесообразность данной обработки.
+
Оставьте свое сообщение