gpt4 book ai didi

sqlite - 如何优化INTEGER的Sqlite DB文件大小?

转载 作者:行者123 更新时间:2023-12-03 15:39:21 25 4
gpt4 key购买 nike

我想在sqlite中建立一个20,000,000记录表,但是文件大小略大于用TAB分隔的纯文本表示形式。

有什么方法可以优化特定于sqlite的数据大小存储?

细节:

每条记录都有:


8个整数
3个枚举(现在以1个字节的文本表示),
7个文字


我怀疑数字没有有效存储(值范围10,000,000至900,000,000)

根据文档,如果以数字形式存储,我希望它们占用3-4个字节,如果以文本形式存储(可能是额外的终止字节或大小指示符字节),则占用8-9个字节,这意味着以int形式存储之间的比率为1:2 :存储为文本)。

但事实并非如此。

最佳答案

您的整数应至少占用3-4个字节(3个字节,最多2 ^ 24 =〜16,000,000)。另外,SQLite总是为每一列至少存储一个字节作为大小信息(也为您的1字节文本->每个2字节总和)。

一些问题:


您是否使用复合主键或非普通整数的主键?
您是否使用其他索引?
您是否尝试清理数据库? (命令“ vacuum”)-SQLite数据库不一定是自动真空的,因此删除数据时,该空间保持保留。


再进一步:


您已经有20,000,000个条目或更少的条目了吗?对于小型数据库,存储开销可能比实际内容大得多。

关于sqlite - 如何优化INTEGER的Sqlite DB文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28381949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com