![]() |
![]() |
![]() |
|
v7: Оценка фрагментации индексов базы (SQL) | ☑ | ||
---|---|---|---|---|
0
sergeystav
05.09.08
✎
11:54
|
Кто-нибудь пользовался функцией SQL сервера "sys.dm_db_index_physical_stats" для анализа степени фрагментации индексов, как того рекомендует 1С?
У меня запуск этого анализа до и после реиндексации выдает одни и теже завышенные результаты фрагментации, порядка 400 индексов с процентом фрагментации 40-80%. |
|||
1
Maxus43
05.09.08
✎
12:14
|
это выводит степень фрагментации всех баз наверно... реиндексацию ВСЕХ баз делаеш?
|
|||
2
sergeystav
05.09.08
✎
13:35
|
реиндексирую одну базу
и статистику по одной смотрю SELECT OBJECT_NAME(object_id),avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(N'democopy'), NULL, NULL, NULL, NULL) where avg_fragmentation_in_percent>25 |
|||
3
ДенисЧ
05.09.08
✎
13:36
|
Я пытался такое анализировать на 7.7...
Смысла не увидел, оказалось проще раз в неделю запускать дефрагментацию всех индексов и раз в 2-3 месяца - полную периндексацию |
|||
4
sergeystav
05.09.08
✎
13:41
|
у меня переиндексация каждую ночь, а дефрагментация в 13-00.
Дефрагментация у меня анализирует процент фрагментации и если он больше 25 то дефрагментирует индекс и логирует имя таблицы. Но если я подряд запускаю скрипт дефрагментации, то он перелопачивает те же самые индексы. Не могу понять реиндексируется база в конце концов или нет. |
|||
5
ДенисЧ
05.09.08
✎
13:41
|
а зачем дефрагментация после переиндексации?
|
|||
6
sergeystav
05.09.08
✎
13:42
|
дефрагментация уже в середине рабочего дня
|
|||
7
sergeystav
05.09.08
✎
13:45
|
это все навеяно рекомендациями сайта 1С:
"Чрезмерная фрагментация индексов создает проблемы для больших операций ввода-вывода. Функция sys.dm_db_index_physical_stats возвращает процент фрагментации в столбце avg_fragmentation_in_percent. Если значение в этом столбце превышает 25%, то для восстановления производительности рекомендуется выполнить дефрагментацию этого индекса. От снижения фрагментации индексов могут выиграть операции сканирования больших диапазонов данных. Использование этой информации может существенно снизить нагрузку на систему и избежать ненужных операций по дефрагментации тех индексов, для которых она не требуется." |
|||
8
sergeystav
05.09.08
✎
15:33
|
ап
|
|||
9
Maxus43
05.09.08
✎
15:51
|
есть ли смысл отдельно таблицы реиндексировать? ночью полную реиндексацию базы данных, днём - полную дефрагментацию, у нас например достаточно мощный сервак, уменьшения производительности при дефрагментации не замечаем
|
|||
10
sergeystav
05.09.08
✎
16:19
|
так вся база и реиндексируется, вопрос в том почему после этого SQL показывает большой процент фрагментации индексов базы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |