|
Ребилд индексов
|
|||
---|---|---|---|
#18+
Добрый день. Имеется Microsoft SQL Server 2012 - 11.0.5058.0 (X64) База порядка 150ГБ с 3 десятками динамических таблиц и около 20 статических таблиц. Недавно возник такой вопрос. Как часто на такой базе нужно делать ребилд индексов? Может быть есть какие-то рекомендации, по частоте выполнения ребилда индексов? Сейчас есть план на ежедневный ребилд, но как понял из интернета, что делать ежедневный ребилд, не самая хорошая вещь. В BOL не нашел нужной информации. Заранее спасибо и всем приятного дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 15:58 |
|
Ребилд индексов
|
|||
---|---|---|---|
#18+
georgy_2012Как часто на такой базе нужно делать ребилд индексов?Что вы хотите этим добится? Что будет если вы не будете делать ребилд? Можете замерить разницу? Суть в том что ребилд очень недешевая операция и надо решить стоит ли овчинка выделки. Я у себя отключил этот джоб на всех серверах. Никто не пожаловался. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 16:59 |
|
Ребилд индексов
|
|||
---|---|---|---|
#18+
SERG1257, Ну вот примерно такой ответ, но только в форме документации ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 17:00 |
|
Ребилд индексов
|
|||
---|---|---|---|
#18+
georgy_2012, никто не запрещает или заставляет выполнять rebuild, решение принимает dba. Смотрите сами по своей рабочей нагрузке - помогает ли ребилд увеличению производительности, увеличивает ли накладные расходы. Известно, например, что твердотельные накопители имеют ограниченный ресурс записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 17:18 |
|
Ребилд индексов
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 17:24 |
|
Ребилд индексов
|
|||
---|---|---|---|
#18+
uaggster, Спасибо большое за подробный ответ, буду изучать! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 17:36 |
|
Ребилд индексов
|
|||
---|---|---|---|
#18+
Владислав Колосов, Большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 17:37 |
|
Ребилд индексов
|
|||
---|---|---|---|
#18+
georgy_2012 Добрый день. Имеется Microsoft SQL Server 2012 - 11.0.5058.0 (X64) База порядка 150ГБ с 3 десятками динамических таблиц и около 20 статических таблиц. Недавно возник такой вопрос. Как часто на такой базе нужно делать ребилд индексов? Может быть есть какие-то рекомендации, по частоте выполнения ребилда индексов? Сейчас есть план на ежедневный ребилд, но как понял из интернета, что делать ежедневный ребилд, не самая хорошая вещь. В BOL не нашел нужной информации. Заранее спасибо и всем приятного дня! Вот это надо писать в каждом ответе "и всем приятного дня" иначе - просто никак ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2021, 10:22 |
|
|
start [/forum/topic.php?fid=46&msg=40071749&tid=1684694]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 330ms |
total: | 489ms |
0 / 0 |