Двоичные данные в базе данных sqlite в сравнении с изображением в папке приложений или сохранением изображений из Интернета

#xcode #core-data #uiimage #nsdata #binary-data

#xcode #ядро-данные #uiimage #nsdata #двоичные данные

Вопрос:

Я просто подумал, какой наилучший способ сохранить изображения в приложении iPhone / iPad (XCODE), если я получаю их из Интернета динамически. Моя главная проблема заключается в том, что если я сохраню их в своей базе данных в виде двоичных данных, снизит ли это мою эффективность при создании запросов к базе данных?

В таком случае, лучше ли хранить их в папке приложения?

Спасибо за ответы.

Комментарии:

1. почему бы вам не сделать и то, и другое, измерить и принять решение на основе фактических данных, а не домыслов в Интернете, только вы знаете свою эвристику использования.

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

3. что заставляет вас думать, что чьи-то 20 ТЫСЯЧ изображений будут иметь тот же средний размер, что и ваши 20 тысяч изображений? Если вы не можете создать макет сервиса для создания и заполнения вашего приложения 20 тысячами изображений, что-то не так.

4. Джаррод, ты делал что-то подобное раньше? Если да, пожалуйста, скажите мне, сохранялись ли вы в базе данных в виде двоичных данных, если да. Как проходили ваши запросы на выборку?

Ответ №1:

На форумах разработчиков Apple есть хорошая дискуссия по этому поводу. Хороший пост можно найти здесь. Общее руководство из сообщения: размер большого двоичного объекта данных менее 16 КБ в порядке, 100 кб также в порядке, приближается к 1 МБ, и его лучше хранить за пределами Core Data или любой базы данных.

С точки зрения извлечения производительности, это будет сводиться к тому, как вы нормализовали свою модель данных.