Доброго дня, коллеги!
Работа с фрагментацией таблиц максимально подробно рассмотрена в главе “Регламентные операции СУБД” курса Ускорение и оптимизация систем на 1С:Предприятие 8.3 + подготовка на 1С:Эксперт. Тем не менее у слушателя возник вопрос по работе с фрагментацией для небольших таблиц. Тренер как всегда помог в Мастер-группе.
Вопрос
USE CopyBaseR; GO select * from sys.dm_db_index_physical_stats(DB_ID(),null,null,null,null) WHERE avg_fragmentation_in_percent > 10.0 AND index_id >0 0 AND page_count > 128;
Ответ
Добрый день! Устранять фрагментацию для маленьких таблиц не имеет особого смысла (они и так занимают мало места на диске). Количество строк в таблице и не должно меняться, но возможны другие изменения: данные будут расположены более оптимальным образом (как правило более плотно, небольшие “пробелы” между записями по умолчанию вставляются чтобы при вставке 1 строки не переписывать много страниц), как правило при значительной фрагментации данных количество страниц, которые занимает таблица, уменьшается.
Ускорение и оптимизация систем на 1С:Предприятие 8.3 + подготовка на 1С:Эксперт.