iPhone和SQLite:如何处理多个类的数据库连接?

时间:2010-08-07 18:27:37

标签: iphone objective-c database performance sqlite

我对SQLite有些怀疑...... 我的应用程序只使用一个表(封装在数据逻辑类中)来存储小数据,连接在didFinishLaunchingWithOptions中打开并在applicationWillTerminate中最终确定(是的,我知道在iOS4中applicationWillTerminate只有在必要时才会被iSO调用,但我会在每次数据更改时写入数据库。)

现在我必须添加第二个表(和相对类),它将存储不同的数据(两个表之间没有连接)和正常大小(一天大约1-2行)。

我想过应用单例模式来共享连接和语句,但我读到了出于性能原因,建议使用类本地变量来保存连接。

那么最佳做法是什么? Singleton或两个开放连接? 你会根据我的情况推荐什么解决方案?

由于

2 个答案:

答案 0 :(得分:2)

存储在同一个数据库中的单身人士。

少量数据不应该很快成为性能瓶颈。

或者,当然,请使用CoreData。 : - )

答案 1 :(得分:1)

对于这样一个简单的用法,单身可能是@Eiko提到的原因的正确答案。

然而,这一切都引出了一个问题:你为什么不使用Core Data?

正确使用SQLite实际上非常困难,我已经看到数十名非常有才华/经验丰富的工程师在没有意识到的情况下完全错误。更糟糕的是,扩展现有实施更加困难。使用直接SQLite添加并发性确实非常强大(并且核心数据工程师已经花费了大量精力并应用了大量专业知识来正确支持SQLite上的并发)。

对于这么简单的使用,Core Data将不难学习,它将为您提供更加坚实和多功能的代码库。