2011-02-23 64 views
6

我应该保持sqlite连接打开,还是每次完成批量查询后都应该关闭它?我应该保持Sqlite连接打开吗?

更新:这是特定于iPhone/iOS,如果这有所作为。

+0

您不提供太多信息。这一切都取决于你的查询之间有多长时间,你保留了多少数据等等。 – 2011-02-23 08:30:44

+2

打开一次并关闭一次,它将很容易处理,而不是关闭和打开太多次。但是,如果你不打算使用,那么做免费的资源。 – 2011-02-23 10:31:51

+1

我的应用程序通常会在用户与应用程序交互时经常访问sqlite数据库。即当用户触摸一个按钮,表格行等时,我想知道是否最好在应用程序的整个生命周期中保持连接活跃或根据需要打开和关闭。特别是因为我一直在阅读,一旦你关闭连接sqlite不记得以前的执行计划可能会打开关闭性能打击。 – 2011-02-23 19:28:10

回答

8

由于数据库交互是用户驱动的,我会说打开,执行您的活动,关闭它然后返回给用户,这是我的一般建议。这不会在空中留下任何东西。往往会过度强调绩效。我发现单用户应用程序的最佳方法是假设性能会很好,然后再证明它。

向您自己证明这一点的方法之一就是一些测试代码,以计算打开和关闭连接所需的时间。接下来是尝试一套行动,每个策略一套。这应该说服你。

打开连接的缺点通常超过(在单用户应用程序中)保持打开的好处。

这是我的2美分,

+2

这是一个非常明智的方法。作为一名开发人员,我总是不得不对抗通常会导致更多头痛的预优化倾向。 – 2011-02-25 04:04:18

相关问题