Размер SQLite3 в базе данных памяти

У меня есть SQLite3 в памяти базы данных:

sqlite3* database;
sqlite3_open(":memory:", &database);

Можно ли получить точный размер базы данных в памяти?

Мне нужно отправить базу данных клиенту, не сохраняя ее на диске, и сообщить ему размер.

2 ответа

Решение

Использование pragma page_count (умножается на pragma page_size).

Вы можете использовать sqlite3_memory_used() для этого.

Подпрограмма sqlite3_memory_used() возвращает количество байтов памяти, находящихся в данный момент в обращении (неправильно, но не освобождено).

http://www.sqlite.org/c3ref/memory_highwater.html

Другие вопросы по тегам