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