Влияние индексированного представления с объединением на вставку и удаление базовой таблицы - PullRequest
0 голосов
/ 13 декабря 2018

У нас есть таблица клиентов и заказов в базе данных Azure, и мы создали представление индекса, используя следующий запрос объединения

SELECT orderid, c.FirstName, c.LastName, c.Email,c.phone
from [Order] o
join Customer c on c.CustomerId = o.CustomerId

Таблица заказов содержит около 10 миллионов записей, а клиент имеет 5 миллионов записей.Существует кластеризованный индекс, созданный для представления Orderid, и 4 некластеризованных индекса для FirstName, LastName, Email и Phone.

Кластерный индекс выходит из таблицы клиентов на CustomerId.Кластерный индекс выходит из таблицы заказов на OrderId и некластеризованных индексов на customerid в таблице заказов.

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

ниже приведена ссылка на изображение плана выполнения.

Снимок экрана плана исполнения

В настоящее время удаление 1000 записей занимает около 15 минут.Может кто-нибудь, пожалуйста, посоветуйте любое решение для улучшения производительности удаления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...