sqlite3连接并在应用程序的生命周期内保持它

时间:2009-08-19 19:05:57

标签: iphone

我正在关注'SQLiteBooks'示例以了解如何使用sqlite3进行iPhone操作,并且想知道在执行查询后是否应立即关闭与数据库的连接,并在每次需要与db进行通信时重新打开或者应该在应用程序开始时保持连接打开并关闭'appWillTerminate'?在应用程序中多次重新打开数据库连接的成本是多少?

此外,该示例显示了对sqlite3对象(也称为“数据库”)的引用,但没有任何引用计数 - 这是一个很好的模式吗?

1 个答案:

答案 0 :(得分:0)

答案主要取决于您正在构建的应用程序类型。如果您只是偶尔访问数据库,那么可以根据需要打开/关闭,但如果应用程序经常使用数据库,比如因为您的应用程序内容完全由数据库驱动,那么您真的应该在应用程序启动时打开数据库连接,在终止时关闭它。

在我的上一个应用程序中,我首先将数据库连接作为指针传递,然后更改了我的体系结构,以便最初打开数据库的类(AppDelegate的组合)也是处理所有查询的类。来自DB的回复。工作得很好,很容易维护,对我来说,等于胜利。