加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite – 如何从JavaScript压缩WebSQL数据库

发布时间:2020-12-12 23:44:01 所属栏目:百科 来源:网络整理
导读:我使用 HTML5 WebSQL开发了一个应用程序,它将本地数据库中的数据同步到服务器. 删除数据时,sqlite数据库文件的大小保持不变.我知道这包含空的空间,并且在插入新数据时它将被填充但我希望由于限制而保持尽可能小的尺寸. 我知道sqlite中的VACUUM命令可以压缩数
我使用 HTML5 WebSQL开发了一个应用程序,它将本地数据库中的数据同步到服务器.

删除数据时,sqlite数据库文件的大小保持不变.我知道这包含空的空间,并且在插入新数据时它将被填充但我希望由于限制而保持尽可能小的尺寸.

我知道sqlite中的VACUUM命令可以压缩数据库并删除未使用的空间,但是当我尝试从JavaScript在WebSQL数据库上运行它时它失败并显示错误“逻辑错误或缺少数据库”.从浏览器外部运行命令工作正常.

我的问题是:

>可以通过JavaScript以某种方式执行VACUUM命令吗?
>浏览器是否自动实现此功能并最终调用? (找不到任何关于此的文档)

谢谢你的帮助.

由于WebSQL的被忽视/工作已停止,因此错误/功能请求不会 – 也不会 – 被尊重.例如,Chromium bug存在同样的问题,没有响应.

看来你的两个问题最糟糕的是:

1:因为vacuum命令只能在未连接到数据库时运行,所以它只能从命令行运行.看来,在浏览器或javascript中没有“断开数据库然后运行VACUUM”命令.

2:不要指望它.目前尚不清楚它是否会在达到最大尺寸限制时运行,即使它达到最大尺寸限制之前很久你也会注意到主要的减速.

最多你可能能够发送一个命令到一个插件,或javascript上下文之外的东西,它本身可以运行命令……它现在已被弃用,所以它是一个没有实际意义的点.对于遗留应用程序,如果必须具有该功能,则必须在简单的网页/ js上下文之外完成.

未来/现代应用程序现在使用IndexedDB;这个问题仅针对遗留应用程序得到了解答.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读