Мне нужно удалить много строк из базы данных sql server 2008, она должна быть масштабируемой, поэтому я думал о массовом удалении, проблема в том, что на это не так много ссылок, по крайней мере, в моем случае.
Первый фактор заключается в том, что я точно буду знать идентификатор каждой удаляемой строки, поэтому любые подсказки с TOP не подходят, также я удалю меньше строк, которые я хочу сохранить, чтобы не было необходимости в некотором "отбрасывании" / temp table / re-create ".
Итак, я подумал использовать WHERE IN, либо предоставляя идентификаторы, либо XML-данные с идентификаторами, также есть возможность использовать MERGE для удаления строк.
Если мне придется удалить более 1000 строк, отправка всех идентификаторов в WHERE IN может быть проблемой? А что с MERGE - это действительно лекарство от всех проблем массовой вставки / обновления / удаления? Что выбрать?