Вы вообще не должны использовать SQLite напрямую.По крайней мере, используйте FMDB.Учитывая ваше очевидное новшество в разработке, я бы порекомендовал Core Data, поскольку он чрезвычайно хорошо поддерживается в ОС и приведет к наименьшему количеству строк кода (при правильном использовании).
Чтобы ответить на ваш конкретный вопрос;нет, обычно вы не открываете / закрываете соединение с каждым запросом.