powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ребилд индексов
8 сообщений из 8, страница 1 из 1
Ребилд индексов
    #40071714
georgy_2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Имеется Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
База порядка 150ГБ с 3 десятками динамических таблиц и около 20 статических таблиц.


Недавно возник такой вопрос. Как часто на такой базе нужно делать ребилд индексов? Может быть есть какие-то рекомендации, по частоте выполнения ребилда индексов? Сейчас есть план на ежедневный ребилд, но как понял из интернета, что делать ежедневный ребилд, не самая хорошая вещь.
В BOL не нашел нужной информации.

Заранее спасибо и всем приятного дня!
...
Рейтинг: 0 / 0
Ребилд индексов
    #40071738
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
georgy_2012Как часто на такой базе нужно делать ребилд индексов?Что вы хотите этим добится?
Что будет если вы не будете делать ребилд? Можете замерить разницу?
Суть в том что ребилд очень недешевая операция и надо решить стоит ли овчинка выделки.

Я у себя отключил этот джоб на всех серверах. Никто не пожаловался.
...
Рейтинг: 0 / 0
Ребилд индексов
    #40071739
georgy_2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

Ну вот примерно такой ответ, но только в форме документации
...
Рейтинг: 0 / 0
Ребилд индексов
    #40071745
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
georgy_2012,

никто не запрещает или заставляет выполнять rebuild, решение принимает dba. Смотрите сами по своей рабочей нагрузке - помогает ли ребилд увеличению производительности, увеличивает ли накладные расходы. Известно, например, что твердотельные накопители имеют ограниченный ресурс записи.
...
Рейтинг: 0 / 0
Ребилд индексов
    #40071747
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
georgy_2012, в подавляющем большинстве случаев ребилд индексов делать не нужно. Никогда.
Распространенный миф заключается в том, что ребилд индексов повышает скорость выполнения запросов.
Это действительно так, но связано это, прежде всего, с тем, что бонусом к ребилду индексов идет полный пресчет статистик, и, следовательно, перекомпиляция запросов с учетом новых значений статистик.
Собственно аналогичного эффекта можно добиться просто пересчетом статистик.

Влияние на скорость выполнения запросов фрагментации и т.д., чаще всего, незначительно.

Есть, правда особый случай - таблицы, которые содержат поля, заполненные случайными значениями, особенно, если по этим полям построен первичный/ключ, ну, или эти поля являются ключами какого либо индекса, и в эти таблицы, в случайные поля, происходит интенсивная вставка/апдейт данных.
Яркий пример, таблица с ключевым полем по guid, причем не NEWSEQUENTIALID, а NEWID.
Это, вообще, не очень хорошая идея, см. что-нибудь типа http://www.nullskull.com/a/1504/why-guids-are-not-a-good-idea-for-sql-server-primary-keys.aspx и тому подобных статей.
Вот индексы таких таблиц, включая кластерный, время от времени нужно rebuid.
Т.к. при интенсивной вставке в таких таблицах может происходить интенсивный page split, а это как раз не очень хорошо для производительности, см. напр. https://www.sqlservercentral.com/articles/how-bad-are-bad-page-splits
...
Рейтинг: 0 / 0
Ребилд индексов
    #40071749
georgy_2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uaggster,

Спасибо большое за подробный ответ, буду изучать!
...
Рейтинг: 0 / 0
Ребилд индексов
    #40071750
georgy_2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

Большое спасибо!
...
Рейтинг: 0 / 0
Ребилд индексов
    #40071863
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
georgy_2012
Добрый день.
Имеется Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
База порядка 150ГБ с 3 десятками динамических таблиц и около 20 статических таблиц.


Недавно возник такой вопрос. Как часто на такой базе нужно делать ребилд индексов? Может быть есть какие-то рекомендации, по частоте выполнения ребилда индексов? Сейчас есть план на ежедневный ребилд, но как понял из интернета, что делать ежедневный ребилд, не самая хорошая вещь.
В BOL не нашел нужной информации.

Заранее спасибо и всем приятного дня!


Вот это надо писать в каждом ответе "и всем приятного дня" иначе - просто никак
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ребилд индексов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]