Версия для печати темы (https://pro1c.org.ua/index.php?s=fff2a8569889c18ee9781066eeb59322&showtopic=51559)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Администрирование и настройка серверов баз данных _ Индесация базы 1Сv8 под MS SQL - server 2014

Автор: george_smith 16.04.19, 11:13

Здравствуйте!
Хочу увеличить производительность системы "Управление торговым предприятием для Украины", редакция 1.2. (1.2.48.1)
База 1Сv8.3 под MS SQL (mdf - файл весить около 15 gb., log урезанный до 1 gb.).
До перестройки индексов запрос sys.dm_db_index_physical_stats показал для многих объектов id avg_fragmentation_in_percent больше 30%.
После Rebuild Indexes ситуация не изменилась. Запрос sys.dm_db_index_physical_stats показал тоже самое.
Подскажите как победить высокий процент не фрагментированых индексов? Может через Reorganize Indexes? Чем эти два способа отличаются.



Автор: Vladal 16.04.19, 12:02

0. Какая версия SQL-сервера?

2.

Цитата(george_smith @ 16.04.19, 11:13) *
База 1Сv8.3 под MS SQL (mdf - файл весит около 15 gb., log урезанный до 1 gb.).

А реальный размер базы каков? Что говорит об этом сам сервер?

Цитата(george_smith @ 16.04.19, 11:13) *
После Rebuild Indexes ситуация не изменилась. Запрос sys.dm_db_index_physical_stats показал то же самое.
Подскажите как победить высокий процент фрагментированных индексов? Может через Reorganize Indexes? Чем эти два способа отличаются.


Для начала нужно понимать, что файл индексов содержит b-tree. некое дерево, в котором располагаются ссылки на записи в таблице или на другие ветки дерева.
Reorganize Indexes - Упорядочивает страницы в файле индекса, аналогично дефрагментации файлов на диске. Практически "прозрачно" для работы пользователей.
Rebuild Indexes - удаляет существующее дерево и читаете все записи, создавая новое дерево непосредственно из данных. Эта операция более дорогостоящая чем реорганизация: занимает время, место на диске, но взамен можно получить более-менее оптимизированное дерево индексов.
Обе операции не рекомендуется делать при пороге фрагментации меньше 5%, некоторые рекомендуют этот порог повысить до 10%.

3.
Цитата(george_smith @ 16.04.19, 11:13) *
После Rebuild Indexes ситуация не изменилась.

Делали ТиИ средствами 1С? С пересчетом итогов и реиндексацией? Период рассчитанных итогов актуальный
Как это повлияло на статистику индексов?

Узнайте, какие таблицы БД имеют самые фрагментированные индексы.
Какие данные они представляют в 1С с помощью метода ПолучитьСтруктуруХраненияБазыДанных (напишите или поищите готовую обработку).
Наверно это будет регистр бухгалтерии Хозрасчетный и его виртуальные таблицы?

1.
Цитата(george_smith @ 16.04.19, 11:13) *
Хочу увеличить производительность системы "Управление торговым предприятием для Украины", редакция 1.2. (1.2.48.1)

И все-таки для начала бы сделать регламентные операции средствами 1С - кофигурации: закрытие месяца, актуализация рассчитанных итогов; платформы: ТиИ...

4. Вот еще нашел у Майкрософт
http://pro1c.org.ua/redirect.php?https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorganize-and-rebuild-indexes?view=sql-server-2017

Как-то писал дефрагментацию и оптимизацию индексов для отдельных таблиц, чтобы не замораживать всю базу. Если коллеги с прошлой работы пришлют, поделюсь. но это не точно.

Да уж... хорошо копнул. У Майкрософт уже есть, наверняка лучше моего )))
http://pro1c.org.ua/redirect.php?https://github.com/Microsoft/tigertoolbox/tree/master/AdaptiveIndexDefrag

Автор: andr_andrey 16.04.19, 16:01

Цитата(Vladal @ 16.04.19, 13:02) *
Да уж... хорошо копнул. У Майкрософт уже есть, наверняка лучше моего )))

Хорошая ссылка, чтобы выкинуть свои велосипеды.

Автор: george_smith 16.04.19, 16:45

Vladal @ Сегодня, 12:02 * ,
Спасибо за ответы! Размер базы 18637,69 MB MS SQL server 2014 management studio.
Средствами 1С, а именно ТиИс.. еще не делал, в конце недели попробую. Думал, что через sql-сервер это более эффективно.
Заметил что, физически, работать начало, все таки быстрее.
В свой новосозданный maintenance plan включил, так же update statistics task и DBCC FREEPROCCACHE.

Автор: Vladal 16.04.19, 19:58

Цитата(george_smith @ 16.04.19, 17:45) *
Думал, что через sql-сервер это более эффективно.

Да, средствами SQL-сервера эффективнее. Просто если в 1С "беспорядок в таблицах", ТиИ их немного причешет.
Не забывайте об открытии периодов и пересчете итогов - это уже особенность хранения остатков самой 1С.


george_smith @ Сегодня, 17:45 * ,
А модель восстановления базы какая?
Цитата(andr_andrey @ 16.04.19, 17:01) *
Хорошая ссылка, чтобы выкинуть свои велосипеды.


к той ссылке
http://pro1c.org.ua/redirect.php?https://github.com/Microsoft/tigertoolbox/tree/master/AdaptiveIndexDefrag

добавьте и этот сборник:
http://pro1c.org.ua/redirect.php?https://github.com/Microsoft/tigertoolbox/tree/master/MaintenanceSolution

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua