压缩的Sqlite数据库和索引

Bas*_*asj 6 python database compression sqlite full-text-search

我读到可以使用sqlite-zstd等扩展来压缩 sqlite 数据库。

在 Sqlite3 中,是否有可在 Python 中使用的方法,允许同时执行以下操作:

  • 文本列的压缩(假设有 10 亿行,其中至少一个文本列少于 20 个字符)
  • 当此列有索引时,保持快速查找(甚至全文搜索,例如LIKE 'foo%'

我打算用 LZ4 压缩的行编写一些代码,但是单个搜索/查找将需要完整扫描(解压缩所有值以查看是否存在匹配)。

是否有适用于此(或其他数据结构)的 Sqlite 技术?

小智 0

默认情况下,SQLITE 不会压缩其数据,但它们确实有一些专有的 SQLite 扩展可以完成所需的工作。 ZIPVFS就是这样一种扩展/插件,它允许您使用 zlib 或任何其他应用程序提供的压缩和解压缩函数来读取和写入压缩数据。