pri*_*iya 2 java sqlite android android-sqlite
我有一个 android 应用程序,它涉及登录到该应用程序并执行许多 CRUD 操作。当用户第一次登录时,如果有可供该用户下载的任何数据,它会快速记录他/她。但是后来重新登录时,这个过程很慢,有时需要大约20到30分钟。因此,我阅读了有关使用 VACUUM 来避免删除记录时创建的可用空间的信息。
我对何时以及如何使用 VACUUM 感到有些困惑,是在打开用户登录时打开数据库吗?或其他时间。
对此的任何建议都会有所帮助。谢谢
来自:https : //sqlite.org/lang_vacuum.html
运行 VACUUM 可确保每个表和索引在很大程度上连续存储
在数据库文件中
关于许多CRUD操作:db文件通常会变得碎片化,
尤其是当这些操作涉及删除大量数据时。
使用 Java 代码相当简单:
db.execSQL("VACUUM");
Run Code Online (Sandbox Code Playgroud)
尽管该过程可能需要一段时间并且无法监控其进度。
当然,你不需要每次运行 app 时都执行这个语句,而是定期执行。
或者你可以让用户执行这个过程,如果他/她在加载数据,甚至登录时遇到延迟,在你明确这样的操作之后,就像任何重建操作都不是100%安全一样,所以首先建议一个备份。
归档时间: |
|
查看次数: |
1482 次 |
最近记录: |