У меня есть таблица фактов 55 Гб, где я должен удалить некоторые записи, которые позже можно будет вернуть обратно. Количество удаленных записей варьируется от 10 до 100 тыс.
В настоящее время моя стратегия удаления основана на этом:
Я обновляю ключ dateKey для удаляемых записей, например, от положительного значения int 20080122 до отрицательного значения int -20080122, чтобы фильтры текущей даты не включали его.
Здесь я думаю, что вместо перемещения данных в таблицу фактов и обратно я делаю дату из диапазона дат фильтра, а затем перемещаю ее обратно в диапазон дат с возможностью фильтрации с помощью обновлений dateKey.
Мне бы хотелось услышать ваше мнение об этой стратегии удаления, особенно в отношении поведения NCI (некластеризованного индекса). Как вы думаете, обновление индексированного dateKey лучше, чем перемещение фактических данных?