2012-02-09 2 views
1

Какое худшее может произойти, если я отброшу существующие индексы в SQL Server 2000 (и аналогичные эффекты в 2008 R2?)?Что плохого может произойти при снижении индексов?

Я понимаю, что это может замедлить некоторые запросы, но это самое худшее, что может случиться?

Я смотрю мастер настройки индексов и пытаюсь решить, нужно ли мне хранить все существующие индексы или нет, потому что, если предыдущие администраторы баз данных применяли неправильные? Что делать, если мастер настройки дает мне гораздо более высокий уровень улучшения% при сохранении существующего отключения?

+0

+1 Хороший вопрос! –

ответ

2
  • замедляться, иногда драматический
  • падения уникальных индексов может привести к unconsistancy данных и, таким образом, - неправильный запрос приводит к
  • сбрасывают индексы вычисляемых столбцов - может еще более резко снижает производительность
  • увеличивает использование пула буферов - таким образом, может быть отказано в обслуживании некоторой памяти, загружающей CLR-код или даже обычные запросы. Из-за нехватки памяти может привести к более часто перекомпиляциям
  • могут вызвать много больше тупиков
  • может сильно увеличить давление на подсистему ввода-вывод
+0

-Наколенные столбцы на рассматриваемых таблицах. Кроме того, как это может привести к непоследовательным данным? – MAW74656

+1

@ MAW74656 Рассмотрите возможность объединения двух таблиц в уникальный столбец. Если он произвел, например, 1 строку результата, после того, как uniquness ушел - объединение может привести к появлению большего количества строк. И еще - если у вас есть некоторые совокупные функции, такие как ** sum ** - его результат умножается –

+0

-Это похоже, что я НИКОГДА не удаляю индекс ... – MAW74656

2

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

+0

-Я думал, что это ограничение? – MAW74656

+3

Каждое ограничение UNIQUE имеет свой базовый UNIQUE INDEX –

2

Перед ФП получает во главу вниз «не удалить индекс» путь , позвольте мне заявить решительно: никогда не говори никогда.

Иногда индексы стоили вам больше, чем их удаление. Существует много способов изучить это, например, sys.dm_db_index_usage_stats (который может рассказать вам индексы, которые имеют большой объем активности записи, но мало или не имеют активности чтения).

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

+0

HA HA HA! Изолированная среда !? HA HA HA ... – MAW74656

+1

Почему это смешно? Вы делаете все свои изменения в производстве, не тестируя их правильно и тщательно? Я бы не смеялся, если бы это было так. Я, наверное, буду отрывать свое резюме. –

+0

-Ваше очень повезло, если вы работаете в месте с тестовой средой. Мое место дешево, вы живете или не делаете этого вообще. – MAW74656

Смежные вопросы