2010-10-06 3 views
0

У меня есть 12 полей varchar (50) в таблице из примерно 90 миллионов строк, которые мне нужно увеличить до длины varchar (100). Каждое из этих полей имеет индекс (только одно поле в качестве члена). Если я увеличиваю длину полей varchar, индексы должны быть либо перестроены (или будут автоматически перестроены), либо статистика устареет?SQL Server 2005 Index rebuild при увеличении размера поля varchar

У меня нет теста тестовой системы с разумным размером (или, возможно, не знаете, как проверить, были ли индексы перестроены или статистика должна быть пересчитана).

Благодаря

ответ

1

статистики основаны на том, что в столбцах, а не их размер, так что ваша статистика не устареть.

Помните, что иногда, когда вы изменяете столбец, SQL-сервер добавит новый столбец в таблицу и отменит существующий, поэтому в любом случае ему придется перестроить индекс в этом случае.

Несмотря на поиск, я не могу категорически заявить, нужно ли восстанавливать индексы, но я бы перестроил независимо (поскольку это должно происходить как часть вашего обычного обслуживания, если эта таблица не доступна только для чтения или очень низкая запись)

BTW, имеющий отдельный индекс на каждой из этих столбцов, может оказаться не оптимальным. Вы профилировали свою рабочую нагрузку?