SQLite загружает весь файл db в память при подключении?

Я хочу знать, что база данных более эффективна или просто обычный json файл, если у него много элементов, в устройстве Android.

1 ответ

Существует опция "подключение" к базе данных SQLite с использованием memory вместо filesystem в качестве хранилища.

Но он используется только при создании новых баз данных, поэтому "новый" в базе данных памяти будет пустым. Это полезно, когда вы хотите использовать SQL как индексирование и запрос на большом наборе данных.

К сожалению, копирование из файловой системы в память (или наоборот) не является особенностью SQLite. Это выбор дизайна, потому что файл SQLite должен быть заблокирован вашим (или другим) элементом управления concurrency.

Обычно DSN для подключения к базе данных SQLite будет выглядеть как 'sqlite:/path/to/file.sqlite'. А контроль доступа к базе данных обеспечивается правами файловой системы доступа. В случае с базами данных памяти DSN будет выглядеть так: 'sqlite::memory'.

licensed under cc by-sa 3.0 with attribution.