android - 我应该不断地打开()和关闭()我的 SQL 数据库还是让它保持打开状态?

标签 android sql database database-connection

我正在创建一个使用 SQL 数据库存储数据的应用程序。应用程序的设计方式将根据应用程序运行时的用户操作每 3 分钟左右更新一次新数据。

在我看过的教程中,他们建议您在更改数据库后关闭数据库(这在资源方面是“昂贵的”)。

在我的应用程序期间将其保持打开状态更好,因为它会相当频繁地更新,还是应该在每次更改后立即运行 close() 方法?

我想我担心的是,不断地打开和关闭它会比一直打开它会消耗更多的资源。

最佳答案

我曾经试图让一个连接保持打开状态——我用它来填充中继器或其他东西——现在不记得了。

在程序的后面,我还需要使用连接——我想我有它,所以当用户单击转发器中的父项时,会弹出一个详细 div,其中包含该项的更多信息。这产生了一个错误——类似于“无法在打开的连接上打开()”。

我认为该错误可能可以通过另一种方式避免(例如检查我试图打开的连接是否已经打开),但当我想到它时,我意识到我必须将其作为标准做法在我的整个应用程序中,这似乎工作量太大,所以我只是将每次使用后始终关闭我的连接作为一种标准做法。

连接保留在连接池中——我不是这方面的专家——但如果对性能感到好奇,我想我会记住这一点,就多次打开连接的成本而言—— - 不管你的情况需要什么。

另一个想法是您的数据库管理员可能能够强制关闭所有打开的连接,或者数据库可能由于其他原因而关闭。如果您不是 dba,则可能会考虑依赖于您无法长期控制的事物(例如保持连接打开)的风险/ yield 。

关于android - 我应该不断地打开()和关闭()我的 SQL 数据库还是让它保持打开状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6339545/

相关文章:

android - Android 中的 SQL 参数化查询

java - MariaDb10 (MySQL 5.6) - 从 MySQL 5.5 更新后出现随机高 I/O 和慢查询

mysql - MySQL Workbench 能否将模型图与多个数据库同步?

Android ProgressDialog 无法添加取消按钮

java - 'RealmNoticeModelClass' 有一个主键,使用 'createObject(Class<E>, Object)' 代替

java - 如何修复使用 Mahout 在 SetFetchSize() 上失败的建议

sql select query 将第一列转换为标题,将第二列转换为行?

mysql - 如何在 SQL 中表示浮点值

android - 如何在android中使用不同图像在启动画面上显示动画

Android 5.0.2 - 短信广播接收器 - 无法正常工作