изменив одно из значений в нем, для сохранения изменений мы должны перезаписать весь файл целиком.
С файлами работает файловая система, и именно она определяет что именно и где будет перезаписано при изменении данных.
Если вы отредактировали одно значение - изменившиеся данные запишутся в другое место.
Объем записи данных будет несколько больше того что вы отредактировали - это зависит от размера кластера.
Если мы имеем таблицу settings в базе данных и меняем одну строку в ней, физически перезапишется только эта строка или вся эта таблица?
Перезапишется только эта строка.
Остальные строки останутся неизменными.
Даже если вы удалите строку - она просто помечается на удаление, но строки что за ней никак не сдвинутся и не перезапишутся