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

SQLite删除数据占用空间不变的解决方法

发布时间:2020-12-12 20:11:38 所属栏目:百科 来源:网络整理
导读:这几天使用SQLite发现个问题,原空数据库只有10K,往数据库写1M的数据,写完数据之后,数据库房有将近1034K左右,这时再将数据清空,发现数据库的大小依然没变,还是1034,我就奇了怪了,朋友告诉我应该是VACUUM的原因,网上了查了下,网上的解释如下: 当你从
这几天使用SQLite发现个问题,原空数据库只有10K,往数据库写1M的数据,写完数据之后,数据库房有将近1034K左右,这时再将数据清空,发现数据库的大小依然没变,还是1034,我就奇了怪了,朋友告诉我应该是VACUUM的原因,网上了查了下,网上的解释如下: 当你从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据。磁盘空间并没有丢失。但是也不向操作系统返回磁盘空间。 找到原因就得知,在建表之前需要设置VACUUM,VACUUM的默认值是0,可以建表之后查询VACUUM的值,查询命令,PRAGMA auto_vacuum,VACUUM在建表之后是不能修改的,所以必须得在建表之前设置它的值,执行命令PRAGMA auto_vacuum = 1;

(编辑:李大同)

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

    推荐文章
      热点阅读