我的命令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而不写行命令? (记住它是一个移动应用程序)
答案 0 :(得分:1)
根据the GitHub Page,您应该能够在db.executeSql
的交易之外执行SQL:
db.executeSql("VACUUM", [], function(rs) {
// ok
}, function(err) {
// handle error
});