来自 SQLiteOpenHelper 的 VACUUM sqlite 数据库
VACUUM sqlite database from the SQLiteOpenHelper
我的应用程序的数据库不断增长,我想执行 VACUUM 来检索一些丢失的 space。据我了解,如果有其他交易,VACUUM 不会 运行。
我的问题是:如何 运行 来自 SQLiteOpenHelper 的命令? db.execSQL("VACUUM")
之类的东西有用吗?但是我如何在执行此操作时获得某种进展,以便我可以使用加载对话框阻止 UI?
您可以像其他 SQL 命令一样 运行 VACUUM
; execSQL()
会起作用。
但是,没有跟踪进度的机制。
并且 SQLite 会自动重用空闲页面,因此 VACUUM
不太可能提供帮助。 (只有当你删除了大量数据,并且知道你不会再插入新数据时,它才有用。)
我的应用程序的数据库不断增长,我想执行 VACUUM 来检索一些丢失的 space。据我了解,如果有其他交易,VACUUM 不会 运行。
我的问题是:如何 运行 来自 SQLiteOpenHelper 的命令? db.execSQL("VACUUM")
之类的东西有用吗?但是我如何在执行此操作时获得某种进展,以便我可以使用加载对话框阻止 UI?
您可以像其他 SQL 命令一样 运行 VACUUM
; execSQL()
会起作用。
但是,没有跟踪进度的机制。
并且 SQLite 会自动重用空闲页面,因此 VACUUM
不太可能提供帮助。 (只有当你删除了大量数据,并且知道你不会再插入新数据时,它才有用。)