sqlite3 vacuum,如何在cordova APP上使用
sqlite3 vacuum,How to use on cordova APP
我在使用命令 VACUUM 从删除的 SQL 个句子中释放内存时遇到了很大的问题。
我正在制作 Cordova Android 应用程序,我知道当我使用 DELETE SQL 语句时,应用程序的 space 不会关闭,... space像硬盘碎片一样持久存在。
然后,我看到 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);
});
});
好的,那么,如果我不能在交易中做,你能告诉我如何在不写一行命令的情况下执行 vacuum 或 auto-vacuum 或类似于压缩 BD 的东西吗? (请记住,它是一个移动应用程序)
根据 the GitHub Page,您应该能够在 db.executeSql
:
的交易之外执行 SQL
db.executeSql("VACUUM", [], function(rs) {
// ok
}, function(err) {
// handle error
});
我在使用命令 VACUUM 从删除的 SQL 个句子中释放内存时遇到了很大的问题。
我正在制作 Cordova Android 应用程序,我知道当我使用 DELETE SQL 语句时,应用程序的 space 不会关闭,... space像硬盘碎片一样持久存在。
然后,我看到 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);
});
});
好的,那么,如果我不能在交易中做,你能告诉我如何在不写一行命令的情况下执行 vacuum 或 auto-vacuum 或类似于压缩 BD 的东西吗? (请记住,它是一个移动应用程序)
根据 the GitHub Page,您应该能够在 db.executeSql
:
db.executeSql("VACUUM", [], function(rs) {
// ok
}, function(err) {
// handle error
});