Сколько SQLite может сохранить на iPhone?

Я сделал простой сервис RMI с двумя методами: блокировка и выпуск. оба метода берут ключ (моя модель данных использовала UUID в качестве pk так, чтобы был также ключ блокировки).

RMI является хорошим решением для этого, потому что он централизован. Вы не можете сделать этого с EJBs (specialially в кластере, поскольку Вы не знаете, на которую машину Ваш вызов приземлится). плюс, это легко.

это работало на меня.

8
задан Cœur 15 June 2019 в 12:17
поделиться

7 ответов

It's as the other posters say. You're only limited by the drive space on the device.

You also need to consider your in memory footprint though. There is a finite amount of memory on the iphone, and in general it's quiet small, so the amount of data/hydrated objects you'll be able to have in memory is another potential limitation for your app.

2
ответ дан 5 December 2019 в 10:42
поделиться

I'm not sure. If you were doing your own application you'd be limited by free space on the device and to some extent in memory footprint (as Bryan McLemore points out).

However since you're looking at using JavaScript inside of Safari there's no easy way to tell. According to the document you found it looks like it may be limited by site, but there's nothing telling you how much. I'd suggest writing a quick script to fill up the database and figure out how much it actually is. After that, I'd probably halve that value and assume I'd be always be able to use that much.

Be sure to report back so we'll all know!

0
ответ дан 5 December 2019 в 10:42
поделиться

You are only limited by the amount of free space on the device.

0
ответ дан 5 December 2019 в 10:42
поделиться

Ограничение по умолчанию на iPhone составляет 5 МБ

0
ответ дан 5 December 2019 в 10:42
поделиться

Пределы в SQLite

«Пределы» в контексте этой статьи означают размеры или количества, которые не могут быть превышены. Нас интересуют такие вещи, как максимальное количество байтов в BLOB или максимальное количество столбцов в таблице.

Изначально SQLite был разработан с учетом политики избегания произвольных ограничений. Конечно, каждая программа, работающая на машине с ограниченным объемом памяти и дискового пространства, имеет определенные ограничения. Но в SQLite эти ограничения не были четко определены. Политика заключалась в том, что если он умещается в памяти и вы можете считать его 32-битным целым числом, то он должен работать.

К сожалению, было показано, что политика без ограничений создает проблемы. Поскольку верхние границы не были четко определены, они не тестировались, а при доведении SQLite до крайностей часто обнаруживались ошибки (включая возможные уязвимости безопасности). Начиная с версии 3.6.19 (вся статистика в отчете относится к этому выпуску SQLite), библиотека SQLite состоит примерно из 65,7 KSLOC кода C. (KSLOC означает тысячи «исходных строк кода» или, другими словами, строк кода, исключая пустые строки и комментарии.) Для сравнения, в проекте в 690 раз больше тестового кода и тестовых скриптов - 45409,7 KSLOC.

0
ответ дан 5 December 2019 в 10:42
поделиться

Скорее всего, это 32 терабайта ... что намного превышает доступное дисковое пространство.

Я достиг этого числа, умножив максимальный размер страницы на максимальное количество страниц, указанное внизу страницы ограничений SQLite .

0
ответ дан 5 December 2019 в 10:42
поделиться

Большинство этих ответов абсолютно неверны. Safari не позволит вам создавать базы данных SQLite размером более 50 МБ (или расширять существующие базы данных сверх этого размера).

Это ограничение, наложенное Safari - как отмечали другие люди, SQLite сам по себе поддерживает гораздо большие базы данных, которые можно использовать из собственных приложений. Но веб-приложения ограничены 50 МБ.

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

11
ответ дан 5 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: