Обновления / вставки в базовых таблицах замедляются из-за связанных индексированных представлений

У нас есть хранимая процедура, которая ОБНОВЛЯЕТ таблицу на основе некоторых условий. И в той же хранимой процедуре вставляет в ту же таблицу при некоторых других условиях. Теперь эта таблица назначения имеет кучу связанных индексированных представлений, что замедляет обновления и удаления. Что мы делаем сейчас, так это отключаем индексы в представлениях до загрузки и перестраиваем их после. Перестройка занимает около получаса, но если мы не отключим это, индексированные представления перестраиваются один раз для обновления и один раз для вставки.

Мои вопросы:

  1. Обновления и вставки, воссоздают ли они представления для каждой строки или для всех строк, затронутых в UPDATE/INSERT

  2. Есть ли способ пакетной вставки и обновлений, чтобы индексированное представление срабатывало только один раз после всех INSERT и все UPDATE

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

0 ответов

Другие вопросы по тегам