为什么清除SQLite数据库不会减小其大小?

为什么清除SQLite数据库不会减小其大小?,第1张

概述我有一个SQLite数据库. 我创建了表并填充了大量的数据. 然后我通过删除和重新创建表来清除数据库.我确认所有的数据已被删除,表是空的,通过使用SQLite管理员查看它们. 问题是数据库文件(* .db3)的大小在清除之后保持不变. 这当然是不可取的,因为我想重新获得一旦我清楚了这些数据所占用的空间. 有没有人做过类似的观察和/或知道发生了什么? 可以做些什么呢? 从 here: 当一个对象(表 我有一个sqlite数据库.

我创建了表并填充了大量的数据.

然后我通过删除和重新创建表来清除数据库.我确认所有的数据已被删除,表是空的,通过使用sqlite管理员查看它们.

问题是数据库文件(* .db3)的大小在清除之后保持不变.

这当然是不可取的,因为我想重新获得一旦我清楚了这些数据所占用的空间.

有没有人做过类似的观察和/或知道发生了什么?

可以做些什么呢?

从 here:

当一个对象(表,索引,触发器或视图)从数据库中删除时,它留下空的空间.下一次将新信息添加到数据库时,这个空的空间将被重用.但在此期间,数据库文件可能大于严格要求.此外,频繁插入,更新和删除可能导致数据库中的信息变得碎片化 – 将数据库文件全部删除,而不是集中在一起.

VACUUM命令通过将其内容复制到临时数据库文件并从副本重新加载原始数据库文件来清理主数据库.这消除了空闲页面,使表数据对齐,并以其他方式清理数据库文件结构.

总结

以上是内存溢出为你收集整理的为什么清除SQLite数据库不会减小其大小?全部内容,希望文章能够帮你解决为什么清除SQLite数据库不会减小其大小?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160897.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存