iphone-每次使用sqlite数据库时打开和关闭它

iphone-每次使用sqlite数据库时打开和关闭它,iphone,sqlite,Iphone,Sqlite,我正在编写一个使用SQLite的iPhone应用程序。我习惯于每次使用数据库时打开和关闭连接。但是,我不知道这在iPhone/SQLite环境中是否是一个好的实践。我想知道是应该打开数据库1次,还是每次使用时都可以打开和关闭数据库。请让我知道。我认为您应该尽可能长时间地打开它,以便将数据缓存在DRAM中。当然,您还应该组织事务,以便在逻辑时间点提交并保持事务完整性。我会按照Matthew的建议做:只要您的程序在运行,就保持一个连接处于打开状态。这两个答案似乎都是正确的,但实际上这取决于您使用它的

我正在编写一个使用SQLite的iPhone应用程序。我习惯于每次使用数据库时打开和关闭连接。但是,我不知道这在iPhone/SQLite环境中是否是一个好的实践。我想知道是应该打开数据库1次,还是每次使用时都可以打开和关闭数据库。请让我知道。

我认为您应该尽可能长时间地打开它,以便将数据缓存在DRAM中。当然,您还应该组织事务,以便在逻辑时间点提交并保持事务完整性。

我会按照Matthew的建议做:只要您的程序在运行,就保持一个连接处于打开状态。

这两个答案似乎都是正确的,但实际上这取决于您使用它的频率和它的大小。如果DB很大,您应该设置更大的页面缓存,但这会导致更大的内存消耗,如果访问很少,则没有理由一直保留它(但如果使用量也很小,则大页面缓存也不会帮助您)

如果它很小-即使不经常使用,也没有理由每次打开/关闭它。但平均而言,定期开盘/收盘时,您的资源消耗较高。所以总而言之-不要每次使用db时都重新打开它