Проблемы с производительностью при использовании базы данных H2 во встроенном режиме с большой нагрузкой данных в базе данных.

Я работаю с java-приложением, используя базу данных H2 во встроенном режиме. Мое приложение потребляет 150 МБ кучи памяти.

Проблема:Шаги Когда я загружаю базу данных H2 с 2 МБ данных, доступ к базе данных происходит быстро, а размер кучи составляет 160 МБ.

Но когда я загружаю базу данных H2 с 30 МБ данных (размер файла h2 db = 30 МБ ). Тогда доступ к базе данных из моего приложения очень медленный. причина в том, что размер кучи моего приложения сильно вырос до 300 МБ, что привело к снижению производительности. Я подтвердил использование JConsole.

Насколько я понимаю, поскольку база данных H2 разработана с использованием java, и поскольку я использую базу данных H2 во встроенном режиме, размер кучи базы данных H2 добавляется в мое приложение, что нарушает работу приложения.

Проблема в том, что по мере роста размера базы данных H2 производительность моего приложения снижается.

Как решить проблему?

Я указал соединение как

 rurl = "jdbc:h2:file:/" + getDBPath() + dbname + ";CACHE_SIZE=" + (1024 * 1024) + ";PAGE_SIZE=512";

для увеличения кеша H2.

7
задан Nat 28 December 2015 в 17:03
поделиться