【发布时间】:2016-11-09 17:34:02
【问题描述】:
我们正在使用 FMDB SQLCipher 包装器来处理 sqlite DB 的加密。我们有一个FMDataBaseQueue 来处理来自多个线程的读写。自从我们引入 SQLCipher 以来,应用程序的性能就受到了打击。在每笔交易中,我们都会设置密钥。
self.dbQueue inTransaction:^(FMDatabase *db, BOOL *rollback){
[db setKey:"dummykey"];
//Do Some DataBase Updates or Queries
}
因此,我们必须抽象出所有方法,因为它已被多个控制器使用。我们如何解决这个问题?有时我们必须执行这个主队列(大多数时候我们在全局队列中执行),因为我们等待一些处理完成。
由于我觉得加密数据库是一项昂贵的操作,我该如何提高 sqlite 语句的执行性能。
DBConnection 在应用程序的整个生命周期中打开。每次我想与数据库交互时都应该使用[db setKey:"dummykey"];吗?
【问题讨论】:
标签: ios objective-c sqlite fmdb sqlcipher