我使用
HTML5 WebSQL开发了一个应用程序,它将本地数据库中的数据同步到服务器.
删除数据时,sqlite数据库文件的大小保持不变.我知道这包含空的空间,并且在插入新数据时它将被填充但我希望由于限制而保持尽可能小的尺寸.
我知道sqlite中的VACUUM命令可以压缩数据库并删除未使用的空间,但是当我尝试从JavaScript在WebSQL数据库上运行它时它失败并显示错误“逻辑错误或缺少数据库”.从浏览器外部运行命令工作正常.
我的问题是:
>可以通过JavaScript以某种方式执行VACUUM命令吗?
>浏览器是否自动实现此功能并最终调用? (找不到任何关于此的文档)
谢谢你的帮助.
由于WebSQL的被忽视/工作已停止,因此错误/功能请求不会 – 也不会 – 被尊重.例如,Chromium bug存在同样的问题,没有响应.
看来你的两个问题最糟糕的是:
1:因为vacuum命令只能在未连接到数据库时运行,所以它只能从命令行运行.看来,在浏览器或javascript中没有“断开数据库然后运行VACUUM”命令.
2:不要指望它.目前尚不清楚它是否会在达到最大尺寸限制时运行,即使它达到最大尺寸限制之前很久你也会注意到主要的减速.
最多你可能能够发送一个命令到一个插件,或javascript上下文之外的东西,它本身可以运行命令……它现在已被弃用,所以它是一个没有实际意义的点.对于遗留应用程序,如果必须具有该功能,则必须在简单的网页/ js上下文之外完成.
未来/现代应用程序现在使用IndexedDB;这个问题仅针对遗留应用程序得到了解答.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。