Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Почему после shrinКА возрастает фрагментация индексов?  [new]
Int23
Guest
Это нормально?
5 июл 13, 10:56    [14526096]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Да!
5 июл 13, 11:01    [14526130]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Int23
Guest
А можно сделать чтобы и бд имела нормальный размер и индексы не фрагментированные.
5 июл 13, 11:02    [14526140]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Int23
А можно сделать чтобы и бд имела нормальный размер и индексы не фрагментированные.

индекс можно дефрагментировать. А нормальный размер БД вы относительно чего меряете??
5 июл 13, 11:04    [14526150]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Int23
Guest
Я дефрагментирую индекс, тогда получается что есть неиспользуемое пространство. Я делаю шринк и индексы становлятся фрагментированы
5 июл 13, 11:37    [14526448]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Int23
Я дефрагментирую индекс, тогда получается что есть неиспользуемое пространство. Я делаю шринк и индексы становлятся фрагментированы

Ну так выберите то, что вам ближе и дороже
5 июл 13, 11:38    [14526463]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Антон Морозов
Member

Откуда:
Сообщений: 2
Glory
Ну так выберите то, что вам ближе и дороже


Такую позицию считаю не правильной.

Сам столкнулся с аналогичной проблемой и решения найти не могу.
В моем случае каждый месяц создается новая база данных, в которую пишется определенный набор данных.
В итоге за месяц получается база в 30ГБ и средней фрагментацией индексов 60%.
Причем точно известно, что по истечении месяца в базу ничего более не будет ни писать ни удаляться.
Поэтому желание отсечь все свободное пространство в базе и при этом получить индексы с минимальной фрагментацией считаю вполне логичным и адекватным.
Делаю REBUILD индексов возрастает свободное пространство в базе, делаю SHRINKDATABASE - фрагментация индексов 99%.

Убедительно прошу помочь с решением данной проблемы.
27 авг 13, 12:23    [14759768]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Антон Морозов
Такую позицию считаю не правильной.

Это не позиция. Это констатация факта.
27 авг 13, 12:24    [14759783]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Антон Морозов
Glory
Ну так выберите то, что вам ближе и дороже


Такую позицию считаю не правильной.

Сам столкнулся с аналогичной проблемой и решения найти не могу.
В моем случае каждый месяц создается новая база данных, в которую пишется определенный набор данных.
В итоге за месяц получается база в 30ГБ и средней фрагментацией индексов 60%.
Причем точно известно, что по истечении месяца в базу ничего более не будет ни писать ни удаляться.
Поэтому желание отсечь все свободное пространство в базе и при этом получить индексы с минимальной фрагментацией считаю вполне логичным и адекватным.
Делаю REBUILD индексов возрастает свободное пространство в базе, делаю SHRINKDATABASE - фрагментация индексов 99%.

Убедительно прошу помочь с решением данной проблемы.

Если вы считаете позицию ув. Glory неправильной, напишите правильную позицию. А то вы опровергаете факты, не имея никаких аргументов.
27 авг 13, 12:27    [14759813]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Антон Морозов
Делаю REBUILD индексов возрастает свободное пространство в базе, делаю SHRINKDATABASE - фрагментация индексов 99%.


Думаю, что если до шринка удалить индексы, а после шринка добавить индексы с fillfactor=100%, то будет и сжато и с минимальной фрагментацией индексов.
Это не касается кластерных индексов.

Сообщение было отредактировано: 27 авг 13, 13:46
27 авг 13, 12:46    [14759943]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Антон Морозов
Member

Откуда:
Сообщений: 2
Глеб
Думаю, что если до шринка удалить индексы, а после шринка добавить индексы с fillfactor=100%, то будет и сжато и с минимальной фрагментацией индексов.
Это не касается кластерных индексов.

Само собой у меня кластерные индексы, но все равно спасибо.

Сергей Викт.
Если вы считаете позицию ув. Glory неправильной, напишите правильную позицию. А то вы опровергаете факты, не имея никаких аргументов.

Моя позиция в том, что нужно искать решение проблемы до конца, а не останавливаться на первом же сообщении форума "Это не возможно".
Тов. Glory однозначно высказал свою позицию и к нему претензий нет.
Будучи убежденным, что программно решение найти всегда можно, позволю себе с ним не согласиться.

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

Но данный способ мне не нравится и хотелось бы найти решение не связанное с пересозданием базы данных.
28 авг 13, 03:30    [14763566]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
aleks2
Guest
[quot Антон Морозовъ
Будучи убежденным, что программно решение найти всегда можно, позволю себе с ним не согласиться.
[/quot]

Итеративное шринканье-дефрагментация_индексов в цикле?
28 авг 13, 09:32    [14763935]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Антон Морозов
Моя позиция в том, что нужно искать решение проблемы до конца, а не останавливаться на первом же сообщении форума "Это не возможно".

Когда найдете секретный синтаксис команды SHRINK, то сообщите сюда
28 авг 13, 10:20    [14764181]     Ответить | Цитировать Сообщить модератору
 Re: Почему после shrinКА возрастает фрагментация индексов?  [new]
baracs
Member

Откуда: Москва
Сообщений: 7206
Антон Морозов
В режиме реального времени данные поступают в базу хаотично, что и приводит к дикой фрагментации индексов.
Вообще говоря, между этими явлениями нет прямой связи.
Потом, ежили вы льете данные в режиме реального времени, индексы вам мешают. Они сильно нужны в период загрузки данных?
Антон Морозов
В начале нового месяц производится копирование данных прошлого месяца в новую базу, но при этом данные упорядочены и сгруппированы. После чего остается лишь очистить журнал транзакций.

Но данный способ мне не нравится и хотелось бы найти решение не связанное с пересозданием базы данных.
Может взглянуть на это немного с другой стороны? Есть OLTP-база, где идет интенсивное изменение данных; есть хранилище данных, куда периодически заливаются "упорядоченные и сгруппированные" данные. Эти БД заметно отличаются по структуре.
Нормальное решение.
28 авг 13, 10:52    [14764513]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить