sqlite3 vacuum,如何在cordova APP上使用

时间:2017-05-08 15:54:19

标签: android cordova sqlite vacuum

我的命令VACUUM存在一个很大的问题,即从删除的SQL语句中释放内存。

我正在制作一个Cordova Android APP,我知道当我使用DELETE SQL语句时,应用程序的空间不会停止,...空间像片段HardDisk一样持续存在。

然后,我看到VACUUM可以压缩我的数据库,但我有一个问题!

我使用SQLite3,所有站点的VACUUM都说无法在事务中执行,如下所示:

var db = window.sqlitePlugin.openDatabase({name:"maintenance", location:'default'});
db.transaction(function (tx) {
   tx.executeSql('VACUUM', [], function (tx, results) {
      alert('done');
 }, function (tx, error) {
      alert('error');
      alert(error.message);
   });
});

好吧,那么,如果我不能在交易中做,你能不能告诉我如何执行真空或自动真空或类似的东西来压缩BD而不写行命令? (记住它是一个移动应用程序)

1 个答案:

答案 0 :(得分:1)

根据the GitHub Page,您应该能够在db.executeSql的交易之外执行SQL:

db.executeSql("VACUUM", [], function(rs) {
    // ok
}, function(err) {
    // handle error
});