Я не очень осведомлен о концепциях DBA, но вижу, что эти 2 варианта дают фрагментацию базы данных.
Один - это «фрагментация таблицы», а другой - «фрагментация индекса»
Будучи разработчиком внешнего интерфейса, могу только предположить, что фрагментация таблиц, как она подразумевает, - это фрагментация в физическом хранилище данных. Фрагментация индекса (NC) относится к фрагментации в хранилище индексов.
Я могу быть совершенно не прав, здесь такая ситуация, когда большая база данных около 100 таблиц, а ее размер - в ГБ.
У нас был еженедельный реорг на фиксированных 50 нечетных таблицах - команда «реоргировать таблицу» каждую неделю.
Позже мы перешли от запроса к статусу фрагментации таблиц и перерегистрировали только эти таблицы - это возвращает 3 или 4 таблицы, и они были переупорядочены.
Еще одним шагом было проверить состояние фрагментации индексов, и для возвращаемых индексов выполняется reorg - команда «reorg index».
Дело в том, что после изменений база данных работает очень плохо. Процессор увеличивает скорость и время от времени останавливает экземпляр сервера, превышая 100%.
Кажется, была большая разница, когда мы переупорядочили фиксированные 50 таблиц по сравнению с тем, как мы начали переупорядочивать таблицы, помеченные в отчетах фрагментов.
Запросы на фрагментированные индексы и выполнение реорга на них, похоже, не сильно помогли. Похоже, что ранее, когда мы переупорядочивали таблицу, индексы на них переставлялись неявно, не уверен, но явное добавление этого шага переопределения индекса не имеет никакого значения.
Как уже говорилось, я - разработчик внешнего интерфейса, и мне нравится понимать вещи с точки зрения непрофессионала, с простыми реальными аналогиями, может ли этот материал фрагментации иметь простое объяснение?