Sqlite 如何从JavaScript压缩WebSQL数据库
我使用HTML5+WebSQL开发了一个应用程序,可以将本地数据库中的数据同步到服务器上 删除数据时,sqlite数据库文件的大小保持不变。我知道这包含了空白,当插入新数据时会被填充,但由于限制,我希望保持尽可能小的大小 我知道sqlite中的VACUUM命令可以压缩数据库并删除未使用的空间,但是当我尝试从JavaScript在WebSQL数据库上运行它时,它失败了,错误为“logic error or missing database”。从浏览器外部运行命令可以正常工作 我的问题是:Sqlite 如何从JavaScript压缩WebSQL数据库,sqlite,html,web-sql,Sqlite,Html,Web Sql,我使用HTML5+WebSQL开发了一个应用程序,可以将本地数据库中的数据同步到服务器上 删除数据时,sqlite数据库文件的大小保持不变。我知道这包含了空白,当插入新数据时会被填充,但由于限制,我希望保持尽可能小的大小 我知道sqlite中的VACUUM命令可以压缩数据库并删除未使用的空间,但是当我尝试从JavaScript在WebSQL数据库上运行它时,它失败了,错误为“logic error or missing database”。从浏览器外部运行命令可以正常工作 我的问题是: 真空命令
感谢您的帮助。由于WebSQL的禁用/停止工作性质,错误/功能请求不会得到满足,也永远不会得到满足。例如,同样的问题也存在于Chromium bug中,没有响应 在你的两个问题中,最糟糕的是: 1:因为真空命令只能在未连接到数据库时运行,所以只能从命令行运行。在浏览器或javascript中似乎没有“断开数据库连接,然后运行真空”命令 2:别指望了。现在还不清楚它是否会在达到最大尺寸限制时运行,即使如此,在达到最大尺寸限制之前,您也会注意到严重的减速 最多您可以将命令发送到插件或javascript上下文之外的东西,这些东西本身就可以运行该命令……现在它已被弃用,因此这是一个没有实际意义的问题。对于遗留应用程序,如果必须具有该功能,则必须在简单网页/js上下文之外完成 未来/现代应用程序现在使用IndexedDB;此问题仅针对遗留应用程序回答