SQL-сервер удаляет замедленный решительно индексами

Я запускаю скрипт архива, который удаляет строки из большого (~50m, записывают DB) на основе даты, они вводились. Поле даты является кластерным индексом на таблице, и таким образом к чему я применяю свой условный оператор.

Я работаю, это удаляет в некоторое время цикле, пробуя что-либо от 1 000 до 100 000 записей в пакете. Независимо от пакетного размера это удивительно медленно; что-то как 10 000 записей, удаляемых минута. При рассмотрении плана выполнения существует много времени, проведенного на "Индексе, Удаляют" s. В таблице существует приблизительно 15 полей, и у примерно 10 из них есть своего рода индекс на них. Там какой-либо путь состоит в том, чтобы обойти эту проблему? Я даже не уверен, почему это занимает много времени, чтобы сделать, каждый индекс удаляет, кто-то может пролить некоторый свет на точно, что происходит здесь? Это - образец моего плана выполнения:

сопроводительный текст http://img94.imageshack.us/img94/1006/indexdelete.png

(Последовательность указывает на команду Delete),

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

5
задан Brian Tompsett - 汤莱恩 6 July 2015 в 11:24
поделиться