Я знаю, что индексы снижают производительность вставки / обновления, но я пытаюсь устранить неполадки и определить правильный баланс между производительностью запросов и производительностью вставки / обновления.
Мы создали несколько представлений (около 20) для некоторых действительно сложных запросов. Они очень медленны для поиска по ключам (сканирование может занять от 5 до 10 ключей в течение 20 секунд).
Индексирование этих представлений (с кластеризованными и некластеризованными индексами в различных ключевых столбцах) повышает их производительность в диапазоне от 80x до 100x. Это также снижает производительность вставки / обновления до такой степени, что сценарию, который вставляет около 100 строк в различные связанные таблицы, требуется около 45 секунд для выполнения вместо мгновенного.
Я бы предпочел не идти по маршруту OLAP для этих представлений (это добавило бы целый новый уровень сложности .... и представления в настоящее время обновляются, что может создать проблему обратной синхронизации) ... так что я пытаюсь выяснить, как сбалансировать производительность запросов с производительностью вставки / обновления.
Может, кто-нибудь подскажет, как диагностировать конкретные индексы проблем - и возможные пути снижения их влияния на вставки / обновления?
Я уже пытался использовать покрывающие индексы, индексы с INCLUDE и составные кластерные индексы в качестве альтернативы, чтобы увидеть, если это имеет значение (на самом деле это не так).
Спасибо.