我有一个Android应用程序,经常访问本地sqlite3db,出于性能考虑,所以我总是保持连接打开.但是我的一个朋友建议我每次手术都要打开/关闭连接.

1)你们对这两种方法有什么看法?赞成/赞成. 2)我做了一些测试,发现DB连接没有太多的性能开销.数据库连接的性能开销是否随数据库大小的不同而不同?

推荐答案

我不知道频繁关闭/打开数据库(无论其大小如何)会对性能造成什么影响.我认为这个问题的答案还取决于访问数据库的应用程序类型.

Do you "re-query" the database a lot?
Then it seems rectified to keep it open.

Do you fetch different data each time you fetch something?
Again, it seems reasonable to leave it open (as you won't gain in caching the data instead).

Are there any other applications accessing the same database?
If there is a risk for concurrency or blocking issues, it might be wise to close the database after finished reading/writing from/to it.

通常,我会说,在优化性能时,缓存数据可能比保持数据库打开(相反,关闭数据库)可能获得更多yield .

Database相关问答推荐

将数据拆分为月份(以Postgres为单位

Mongo DB使用一对多关系离开JOIN

当某些 node 死亡时,mongo 副本集选举如何表现?

您如何使两个相关但独立的系统保持同步?

数据库模式 - location

su postgres:Sorry?

应用程序服务器 JDBC 资源的 DataSource 或 ConnectionPoolDataSource

如何将视图的所有权限授予任意用户

如何从表列中删除唯一约束?

使用varchar作为主键?

本地数据库,我需要一些例子

连接池策略效果怎样?

如何在 Rails 中不启动事务的情况下运行迁移?

使用 PDO 获取单行单列

如何从 PostgreSQL 数据库中的文本文件加载数据?

使用 PHP 和 MySQL 开发测验Web 应用程序的数据库设计

如何在 SQL Server 中总结时间字段

如何解析来自 Google 快讯的数据?

Spring data : CrudRepository 的保存方法和更新

是否有用于 postgresql 的数据可视化工具,它也能够显示模式间关系?