Запуск Spring загрузки становится очень медленным, когда база данных H2 становится 50 МБ и более, есть ли способ ускорить процесс запуска?
datasource.url = jdbc: h2: $ {datasource.folder} / test_db; DB_CLOSE_ON_EXIT = FALSE; DB_CLOSE_DELAY = -1; AU TO_SERVER = TRUE datasource.username = ***** datasource.password = **** ** datasource.driverClassName = org.h2.Driver hibernate.dialect = org.hibernate.dialect.H2Dialect
Вы воссоздаете базу данных при каждом запуске? Эта база данных используется для интеграционного тестирования?
не воссоздавать, только обновлять
По моему опыту, H2 отлично подходит для небольших встроенных баз данных. Однако в какой-то момент (300 МБ в моем случае) он стал все медленнее, и я был вынужден заменить его на не встроенный - PostgreSQL - который решил все эти проблемы. Это решение было доступно мне, поскольку встроенная база данных не была для меня сложной задачей.
При этом база данных размером 50 МБ - это не так уж и много. Раньше это было так, но современные машины должны достаточно хорошо поддерживать этот размер. Может быть, сама машина маленькая, а может быть, она перегружена процессором или памятью?
Как у вас подключение к базе данных H2?