Мы пытаемся интегрировать SQLite в наше приложение и пытаемся заполнить его как кэш.Мы планируем использовать его как базу данных в памяти.Используя это в первый раз.Наше приложение основано на C ++.
Наше приложение взаимодействует с основной базой данных для извлечения данных и выполняет многочисленные операции.Эти операции, как правило, касаются одной таблицы, которая имеет довольно большой размер.Мы скопировали эту таблицу в SQLite, и следующие наблюдения:
Количество полей: 60 Количество записей: 1,00 000
Когда начинается заполнение данных, память приложения загружаетсярезко до ~ 1,4 ГБ от 120 МБ.В настоящее время наше приложение находится в состоянии ожидания и не выполняет каких-либо серьезных операций.Но, как правило, после запуска операций запускается использование памяти.Теперь с SQLite, как в Memory DB, и с таким высоким использованием памяти, мы не думаем, что сможем поддерживать эти многочисленные записи.
Q.Можно ли найти размер базы данных, когда она находится в памяти?
Когда я создаю БД на диске, размер БД составляет ~ 40 МБ.Но все же использование памяти приложения остается очень высоким. Q.Есть ли причина для такого высокого использования.Все буферы были очищены, и, как уже было сказано, БД не находится в памяти?
Любая помощь будет принята с благодарностью.
Спасибо и С уважением Sachin