У меня есть сервлет Java (работает в Tomcat), который извлекает данные из базы данных SQLite. Я использую драйвер Xerial для доступа к базе данных SQLite из своего сервлета.Оптимизация Java и SQLite
Этот сервлет извлекает данные, когда мобильные приложения запрашивают информацию.
Эта база данных используется только как доступная только для чтения (она создается один раз в день), но содержит огромные данные (основная таблица содержит 200 000 строк, а другая - более 10 000 000 строк). Я создал индексы для столбцов, которые часто используются.
Мне нужны советы для оптимизации использования базы данных SQLite, чтобы повысить отзывчивость моего сервера.
Для каждого запроса я создаю новое соединение с базой данных, затем отправляю SQL-выбор, извлекаю данные и закрываю соединение. Это хорошая стратегия? У меня может быть много запросов, работающих параллельно. Должен ли я использовать пул соединений? как?
Файл базы данных SQLite составляет около 2 ГБ, на моем сервере у меня много памяти (16 ГБ). Поскольку это база данных только для чтения, я могу загрузить ее в память или увеличить кеш. Какова лучшая стратегия и как это сделать?