У нас есть таблица клиентов и заказов в базе данных 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 минут.Может кто-нибудь, пожалуйста, посоветуйте любое решение для улучшения производительности удаления