Запись в таблицу с индексами и представлениями, основанными на ней

#tsql #indexing #view

#tsql #индексирование #Вид

Вопрос:

Задача состоит в том, чтобы загрузить данные в полу большую таблицу (назовем ее «SLT»). Это около 150 миллионных строк, а размер пакета обычно составляет около 50 тыс. строк (sql server 2016).

SLT является кластеризованным хранилищем и имеет несколько некластеризованных индексов.

В базе данных также есть несколько представлений, которые в основном основаны на данных из этой таблицы.

Из-за этого (возможно, индексы, представления или оба) запись в SLT происходит довольно медленно.

Обычно я бы решил эту проблему, удалив индексы, затем записал в SLT и впоследствии воссоздал индексы. Однако, поскольку существуют также представления, основанные на SLT, которые, в свою очередь, полагаются на индексы для эффективного функционирования, это может быть проблемой.

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

Итак, кто-нибудь знает, есть ли более простой подход.. способ приостановить все зависимые элементы при записи в SLT?