Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Установить fillfactor для индекса без его перестройки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Зачем надо: есть секционированная таблица на много секций, ребилдим по одной оффлайново. Есть желание изменить ff, но не понятно, как. При ребилде секции указать нельзя (будет соответствующая ошибка, потому что опция для таблицы, а не для секции). Остается только ребилд сразу всего индекса, но это как-то тупо ребилдить полностью индекс, чтобы поменять значение в sys.sysindexes.

В синтаксисе сходу не вижу, везде ff - это опция или ребилда, или создания.

З.Ы. MSSQL 2008.

Сообщение было отредактировано: 1 апр 13, 20:24
1 апр 13, 20:23    [14123642]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Crimean
Member

Откуда:
Сообщений: 13148
фф - это опция создания / перестроения индекса. используется только в процессе создания / перестроения, соответственно
смысл вопроса, честно, неясен. типа поставить "декларативно" чтобы после билдилка индексов подхватила? если да то навскидку экстендед проперти вам в руки + переписать самим индексилку
1 апр 13, 20:30    [14123658]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Crimean
фф - это опция создания / перестроения индекса. используется только в процессе создания / перестроения, соответственно
смысл вопроса, честно, неясен. типа поставить "декларативно" чтобы после билдилка индексов подхватила? если да то навскидку экстендед проперти вам в руки + переписать самим индексилку
Смысл простой: чтобы наша стратегия "ребилдим одну секцию в час" начала использовать новый FF без промежуточного звена "устанавливаем ФФ с полным ребилдом индекса", а было бы просто "устанавливаем ФФ" и дальше продолжаем в щадящем режиме перестраивать таблицу с новым ФФ.

Сообщение было отредактировано: 1 апр 13, 20:39
1 апр 13, 20:37    [14123675]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Crimean
Member

Откуда:
Сообщений: 13148
вроде вчитался. разные ФФ для разных секций хочется? но вроде бы как
'fillfactor' is not a recognized ALTER INDEX REBUILD PARTITION option
1 апр 13, 20:55    [14123701]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Crimean
вроде вчитался. разные ФФ для разных секций хочется? но вроде бы как
'fillfactor' is not a recognized ALTER INDEX REBUILD PARTITION option
Это я в курсе. Не понимаю, почему нельзя, ff нужен только непосредственно при ребилде чего-нибудь, а все остальное время это просто цифра в sysindexes.

Ну и потом, можно филлфактор опустить и до уровня патриций было.
1 апр 13, 21:07    [14123722]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
Гавриленко Сергей Алексеевич
Смысл простой: чтобы наша стратегия "ребилдим одну секцию в час" начала использовать новый FF без промежуточного звена "устанавливаем ФФ с полным ребилдом индекса", а было бы просто "устанавливаем ФФ" и дальше продолжаем в щадящем режиме перестраивать таблицу с новым ФФ.

можно создать пустую таблицу той же структуры с нужным новым фф, переключать туда очередную секцию, там ребилдить и переключать обратно. если, конечно, допустимо отсутствие данных в основной таблице некоторое время
1 апр 13, 22:10    [14123855]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33991
Блог
Shakill,

интересно,
а обратно переключится? всё же ff разный
1 апр 13, 22:28    [14123901]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
Критик,

в простейшем тесте ff не помешал. но чтобы получилось переключить обратно, надо обеспечить пустоту соотв. секции в основной таблице на момент этого переключения.
1 апр 13, 22:59    [14123974]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Shakill
Гавриленко Сергей Алексеевич
Смысл простой: чтобы наша стратегия "ребилдим одну секцию в час" начала использовать новый FF без промежуточного звена "устанавливаем ФФ с полным ребилдом индекса", а было бы просто "устанавливаем ФФ" и дальше продолжаем в щадящем режиме перестраивать таблицу с новым ФФ.

можно создать пустую таблицу той же структуры с нужным новым фф, переключать туда очередную секцию, там ребилдить и переключать обратно. если, конечно, допустимо отсутствие данных в основной таблице некоторое время
Как вариант. Надо пробовать. Хотя граблей, особенно с блокировками, тут может быть довольно много.
1 апр 13, 23:58    [14124110]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Crimean
Member

Откуда:
Сообщений: 13148
я так понимаю, альтернатива - партишенед вью.. там точно ФФ разные будут
а пока - пишем вишлист в MS, может включат в следующую версию
вроде и не особо военное и достаточно востребовано может быть
ибо партишенед вью это обеспечивают по факту
2 апр 13, 10:52    [14125060]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Crimean
я так понимаю, альтернатива - партишенед вью.. там точно ФФ разные будут
а пока - пишем вишлист в MS, может включат в следующую версию
вроде и не особо военное и достаточно востребовано может быть
ибо партишенед вью это обеспечивают по факту
Надо в 2012 посмотреть, может сделали уже втихаря. Если нету, накатаю в коннект.
2 апр 13, 11:52    [14125556]     Ответить | Цитировать Сообщить модератору
 Re: Установить fillfactor для индекса без его перестройки  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
в коннекте оно есть, но закрыто
http://connect.microsoft.com/SQLServer/feedback/details/242025/rebuilding-a-partitioned-index
2 апр 13, 12:48    [14125959]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить