Подтвердить что ты не робот

Будет ли производительность SQLite ухудшаться, если размер базы данных превышает 2 гигабайта?

В прошлом году, когда я проверил SQLite на своем веб-сайте, рекомендуемый размер базы данных SQLite составлял 2 гигабайта. Но теперь я больше не мог найти эту рекомендацию.

Так кто-нибудь пытался работать с базой данных SQLite размером более 2 гигабайт, используя последнюю версию? Насколько хорошо работал SQLite?

P.S: Я хотел бы сделать мобильное приложение, которое требует большой базы данных (например, хранения статей Wikipedia), которая работает локально.

4b9b3361

Ответ 1

Нет ограничения на 2 ГБ.

Файлы базы данных SQLite имеют максимальный размер около 140 ТБ.

На телефоне размер хранилища (несколько ГБ) ограничит размер файла базы данных, в то время как размер памяти ограничивает количество данных, которые вы можете получить из запроса. Кроме того, у Android-курсоров есть предел в 1 МБ для результатов.


Размер базы данных сам по себе не повлияет на вашу производительность. Ваши запросы будут быстрыми, пока они не будут получать больше данных, чем вписываются в кеш-страницу базы данных (по умолчанию 2 МБ).

Ответ 2

Обычно чем больше база данных, тем больше данных у вас есть. Чем больше данных у вас есть, тем больше может потребоваться длительный поиск. Они не обязательно, это зависит от поиска.

Что касается вставок, они могут занять больше времени, если у вас много индексов на таблице. Восстановление индекса может занять некоторое время, поэтому ожидайте снижения скорости вставки с объемом данных.

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

Я рассказываю вам об этом по опыту: если вы ожидаете большого количества данных в своей базе данных, подумайте о его разбиении на несколько баз данных. Это работает, если ваши данные собираются ежедневно, и вы можете создать базу данных для каждого дня. Может сделать ваш поисковый код более сложным, но ускорит работу для ограниченного поиска/