Коллеги, поделитесь опытом плиз.
Была БД 100 Гб, в один прекрасный момент в поле nvarchar(max) одной таблицы записалось порядка 500 Гб данных.
Сейчас потребность в этих данных отпала, далее в таких полях будет храниться не более 50 Гб. Общий объем занятого места вряд ли превысит 150-200 Гб. Текущий размер mdf более 600 Гб.
Вопроса ровно два:
1. Может ли очистка данного поля привести к существенной фрагментации БД и потере быстродействия? На тесте фрагментация таблицы остаётся приемлемой после очистки.
2. Стоит ли запланировать сжатие mdf, с учетом проблемы фрагментации индексов?
1. 500 Гб в одно поле - My Deepest respect. Это круто.
2. Очистка не приведен к фрагментации сама по себе. ну будут дырки там, где некогда были данные. Это не фрагментация как таковая в терминах СУБД. ФРагментация будет, если вы выполните шринк файла и не выполните после него перестройку индексов в БД. Я бы советовал сделать и то и другое, уменьшив БД до размеров, которых БД может достичь в пределах года, т.е. не выжимая всё место до капли, пусть будет небольшой запас внутри.