gpt4 book ai didi

python - 备份 SQLITE3 数据库的最佳方法,以减少备份文件的大小

转载 作者:太空宇宙 更新时间:2023-11-03 17:29:24 25 4
gpt4 key购买 nike

我正在尝试备份所有 sqlite3 数据库并在将来的某个时候恢复它。我的数据库中只有一张表。该表包含 blob 数据。备份文件的大小应尽可能小。我尝试过的事情,

  1. 使用了.dump,但是转储文件的大小没有减少
  2. 由于我使用 Python,我对数据进行了解码并将其存储到搁置文件中。搁置文件大小减少约16K。

有什么方法可以进一步减小转储文件的大小吗?

最佳答案

您考虑过文件压缩吗?像:

sqlite3 db.sqlite .dump | xz > backup.sql.xz

xz -9 将具有最佳压缩率。 -6 是默认值。

我很好奇,所以我测试了:

# insert image from terminal, described at:
# https://objectiveseesharp.wordpress.com/2012/08/20/storing-an-image-in-sqlite3-as-a-blob/
sqlite3 foo.sql 'create table image ( img blob );'
echo "insert into image values ( X'$(hexdump -ve '1/1 "%0.2X"' hs-2015-02-a-hires_jpg.jpg)' );" | sqlite3 foo.sql
  • img为21M
  • 数据库21M
  • 未压缩备份41M
  • 压缩备份21M
  • 压缩数据库21M

使用来自 http://hubblesite.org/newscenter/archive/releases/2015/02/image/a/warn/ 的图像

关于python - 备份 SQLITE3 数据库的最佳方法,以减少备份文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32110707/

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