Пересчет индекса SQL Server 2005 при увеличении размера поля varchar - PullRequest
0 голосов
/ 06 октября 2010

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

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

Спасибо

1 Ответ

1 голос
/ 06 октября 2010

Статистика основана на том, что находится в столбцах, а не на их размере, поэтому ваша статистика не устареет.

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...