У меня есть таблица размером 1 ТБ, 600 м, в которой есть ошибочный выбор индексированных столбцов, в частности кластеризованный индекс в столбце первичного ключа, который никогда не используется в запросе выбора.
Я хочу удалить кластерный индекс из этой строки и создать его для ряда других строк.
Таблица на данный момент такая:
colA (PK, nvarchar (3)) [кластеризованный индекс pt b]
colB (PK, bigint) [кластерный индекс pt a]
colC (DateTime) [некластеризованный индекс]
colD (Деньги) [некластеризованный индекс]
colE (бит) [без индекса]
colF (бит) [без индекса]
colG (int) [без индекса]
больше неиндексированных столбцов
Я бы хотел изменить его так:
colA (PK, nvarchar (3)) [кластерный индекс pt a]
colB (PK, bigint) [некластеризованный индекс]
colC (DateTime) [некластеризованный индекс]
colD (Деньги) [кластерный индекс pt d]
colE (бит) [кластерный индекс pt b]
colF (бит) [кластерный индекс pt c]
colG (int) [кластерный индекс pt e]
больше неиндексированных столбцов
Два вопроса: 1) Сколько времени, по вашему мнению, займет это изменение (спецификация сервера в конце сообщения). К сожалению, это живая БД, и у меня не может быть простоя, если я не знаю, как долго она будет работать.
2) Неужели добавление такого количества столбцов в кластерный индекс - ужасная идея? Обновления почти не выполняются. Есть много вставок и много выборок, которые всегда используют все предложенные индексированные строки в качестве параметров выбора.
Спецификация сервера: 5 дисков по 15 тыс. Об / мин в RAID 5, MS-SQL Sever 2005 и некоторые биты для их работы.