#database
#База данных
Вопрос:
У меня есть база данных SQL, с которой я работал некоторое время, возможно, я иду по пути преждевременной оптимизации…
Но я добавлял новые таблицы и добавлял / изменял поля в этой базе данных по мере разработки приложения — обратите внимание, что приложение используется в полном объеме, поэтому мы добавляем в базу данных с помощью миграции сущностей.
Меня беспокоит то, что, добавляя множество небольших изменений, я создаю фрагментированную модель памяти.
Стоит ли на данный момент останавливать базу данных и экспортировать, а затем повторно импортировать снова. Будет ли это воссоздавать базу данных в макете, как если бы я создал все это за один раз без всех дополнений и т.д.
Я осознаю, что дополнительные поля заканчиваются на совершенно разных страницах и т.д.
Есть идеи? Я ошибаюсь здесь?
Это не база данных с высоким уровнем использования, поэтому разница, вероятно, незначительна…
Ответ №1:
Вы не упоминаете конкретный компонент database engine, который вы используете, но вы почти наверняка поднимаете неправильное дерево здесь — на современном оборудовании этот вид оптимизации настолько незначителен, что вы замечаете это только в крайних случаях. Я работал над десятками проектов баз данных, с большим количеством миграций и других изменений DDL, и я никогда не сталкивался с этой проблемой.
Я бы вложил свою энергию в:
- современное, быстрое оборудование (много оперативной памяти, SSD)
- оптимизация запросов
- возможно, запуск кода, который обновляет ваши индексы (обновляет статистику или что-то подобное) по расписанию.