Массовое удаление SQL-сервера по известным идентификаторам записей

Мне нужно удалить много строк из базы данных sql server 2008, она должна быть масштабируемой, поэтому я думал о массовом удалении, проблема в том, что на это не так много ссылок, по крайней мере, в моем случае.

Первый фактор заключается в том, что я точно буду знать идентификатор каждой удаляемой строки, поэтому любые подсказки с TOP не подходят, также я удалю меньше строк, которые я хочу сохранить, чтобы не было необходимости в некотором "отбрасывании" / temp table / re-create ".

Итак, я подумал использовать WHERE IN, либо предоставляя идентификаторы, либо XML-данные с идентификаторами, также есть возможность использовать MERGE для удаления строк.

Если мне придется удалить более 1000 строк, отправка всех идентификаторов в WHERE IN может быть проблемой? А что с MERGE - это действительно лекарство от всех проблем массовой вставки / обновления / удаления? Что выбрать?

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