У меня есть эта многораздельная таблица (test_table) с 900 000 000 строк. Таблица не имеет ключей. Он имеет только 1 кластеризованный индекс для столбца [p_date and email].
Каждый день один процесс запускается из SP, который пытается удалить из этой таблицы.
Delete from test_table
where userKey = 1
and convert(date, p_date) in (select distinct convert(date, p_date)
from DB5.dbo.[test_table])
Подзапрос выполняется в другой базе данных но он очень быстрый и возвращает сегодняшнюю дату.
после этого удаления есть оператор вставки, который ежедневно вставляет около 70 000 строк. Это быстрее.
Этот SP запускается ежедневно.
Удаление занимает очень долго.
Когда я проверяю sysprocess, я вижу,
на основе только этой информации я могу найти, какой db_id, какая файловая группа и какая таблица и с каким индексом он работает.
Сейчас он работает с файловой группой. Id = 16 из db_id = 7. У нас есть 32 группы файлов. Есть ли способ ускорить выполнение этого удаления?
Это мощная машина с 128 ГБ ОЗУ. В этот раз другие процессы не выполняются. Спасибо.