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

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

Мои вопросы:

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

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

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

...