sqlite,mysql删除大量数据后,db文件占用空间不变的原因

4 篇文章 0 订阅
1 篇文章 0 订阅

sqlite删除数据后,占用空间不变的原因

当你从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据。磁盘空间并没有丢失。但是也不向操作系统返回磁盘空间。Sqlite.org的FAQ中提到过这个问题

mysql也有这种问题,但是原因不一样,这个具体参考这位大佬的文章。

https://blog.csdn.net/qq_35190492/article/details/109735448?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161031398716780299073560%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161031398716780299073560&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-3-109735448.first_rank_v2_pc_rank_v29&utm_term=%E4%B8%BA%E4%BB%80%E4%B9%88mysql%E4%B8%8D%E5%BB%BA%E8%AE%AEdelete%E5%88%A0%E9%99%A4%E6%95%B0%E6%8D%AE&spm=1018.2226.3001.4187

解决方法

可以在命令界面,执行 VACUUM 命令,即可sqlite文件磁盘空间的释放。
任意开发环境下都相同,通过sql接口直接输入,VACUUM 即可实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值