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

У меня есть довольно большая таблица, назовем ее 2-байтовыми записями, равномерно распределенными между 200 разделами (SQL Server 2012).

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

Я думаю, что индексированные представления могли бы улучшить производительность моих отчетов, но мы немного обеспокоены, если есть какие-либо проблемы с производительностью со вставками.

Итак, если я создам индексированное представление для своей большой таблицы, в какой момент эти индексы будут обновляться: после каждой вставки или когда пользователь будет читать из индексированного представления в первый раз?

заранее спасибо


person user3339793    schedule 21.10.2020    source источник
comment
Индексированное представление — это терминология SQL Server для материализованных представлений. Очевидно, что этот тип поведения зависит от используемой вами базы данных и, возможно, от различных факторов окружающей среды.   -  person Gordon Linoff    schedule 22.10.2020
comment
Забыл упомянуть, используя SQL Server 2012   -  person user3339793    schedule 22.10.2020


Ответы (1)


Индексированное представление будет обновлено в момент операции модификации данных (например, INSERT, UPDATE, DELETE). Таким образом, это влияет на производительность этих операций.

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

Также могу порекомендовать хорошую статью - https://www.brentozar.com/archive/2017/03/indexed-views-data-modifications/ ... там написано интересно:

Когда мы вставляем в таблицу отдельные строки, SQL может определить, какие данные потребуют обновления индекса индексированного представления.

Таким образом, если вставленные данные не влияют на индексированное представление, они не обновляются.

person michal.jakubeczy    schedule 28.10.2020