но так чтоб как для дебила
ну т.е. для тебя? оки
ну, начнём с того, что "фрагментация индекса" - это такая себе виртуальная хуйня.
ну или наоборот "дефрагментация индекса" - это такая виртуальная хуйня
Как ты можешь знать, мой умственно отсталый друг, индекс представляет из себя набор страниц, увязанных в double linked list
Порядок линков определяет "логическую последовательность"
При этом сами странички пишутся на диск, в неком "физическом порядке"
и вот когда "логический порядок" не совпадает с "физическим" - типа возникает "фрагментация"
но тут надо вспомнить что уже лет 20 такая штука как "физический порядок" - это неведомая йобаная хуйня
Ты пишет страницу в файл
Файл пишется в кластера на логическом томе
логический диск может быть размазан по куче шпинделей (от R0 до jbod)
Даже если шпиндель один - то всё равно, логический и физический маппинг там не совпадает + перемещение секторов
Кароче. "дефрагментация" - это хуйня.
я думаю, надо было давно менять терминологию, но все, блядь, привыкли.
что касатает "а надо ли ваще заморачиваться фрагментацией"?
ну тут хуй знает, надо смотреть
Изначально основная проблема фрагментации - время позиционирования головки диска, которое делало рандомное мелкое чтение данных очень затратной операцией. Отслюда весь этот реад ахеад, скатер/газер, етк
С появлением ссд/файр как его там это стало значительно менее актуальное
Тем не менее, фрагментация может теоретически, повлияьт на производительность путём засирания буферной памяти, т.к. традиционно всё читается экстентами, и ты вместо нужных тебе 8к получаешь 64к нахуй тебе нужных. да, буфера дропнутся, но лишний гемор ни к чем
опять таки, всё сильно зависит от паттернна нагрузки. Если это олап - то желательно иметь последовательные данные, если это олтп - то опять таки, сильно зависит от того, что за олтп
По фрагментации - достаточно понятно для дэбилов пояснил?