Использование памяти Javaite SQLite увеличивается до исключения из памяти - PullRequest
0 голосов
/ 02 февраля 2010

Я использую SQLite в Java-программе. Во время выполнения java-программы несколько запросов отправляются в базу данных, а временные таблицы создаются в памяти, а затем удаляются (с помощью DROP).

Проблема заключается в том, что, хотя количество различных операций в базе данных увеличивается, использование памяти в java-программе также увеличивается. В результате в какой-то момент происходит сбой программы с исключением из памяти. Я использую PRAGMA temp_store = 2, чтобы сохранить временную таблицу в памяти, но я удаляю (используя имя таблицы DROP) каждый раз перед созданием другой.

Это как-то связано с журналом, который хранит база данных? Как я могу решить эту проблему?

1 Ответ

3 голосов
/ 02 февраля 2010

Не глядя на вашу программу, невозможно сказать, в чем проблема. Сохраняете ли вы результаты запросов к базе данных в памяти? Если ваша программа написана таким образом, что у вас есть несколько больших наборов результатов JDBC, и сборщик мусора не может определить погоду, безопасно освободить используемую ими память, вы можете легко исчерпать память.

...