подключение sqlite3 и удержание его в течение всего времени жизни приложения - PullRequest
0 голосов
/ 19 августа 2009

Я следую примеру «SQLiteBooks», чтобы понять, как работать с sqlite3 для iPhone, и мне интересно, следует ли закрывать соединение с базой данных сразу после выполнения запроса и открывать каждый раз, когда вам нужно поговорить с БД или соединение должно оставаться открытым в начале приложения и закрываться в appWillTerminate? Каковы затраты, связанные с повторным открытием соединения БД в приложении несколько раз?

Кроме того, в примере показана ссылка на объект sqlite3 (он же «база данных»), который передается, но без подсчета ссылок - это хороший шаблон для подражания?

1 Ответ

0 голосов
/ 19 августа 2009

Ответ в первую очередь зависит от типа приложения, которое вы создаете. Если вы собираетесь получать доступ к базе данных только изредка, тогда можно открывать / закрывать по мере необходимости, но если приложение будет часто использовать БД, скажем, потому что содержимое вашего приложения полностью управляется базой данных, тогда вам действительно следует откройте соединение с БД при запуске приложения и закройте его после его завершения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...