sqlite-zstd 是 SQLite 的扩展,为 SQLite 提供透明的基于字典的行级压缩。这允许你压缩 SQLite 数据库中的条目,就像你压缩整个数据库文件一样,但同时保留了随机访问。
根据不同的数据,这可以将数据库的大小减少 80%,同时保持大部分的性能不变(甚至可以提高性能,因为从磁盘上读取的数据更小)。
该项目可以以两种模式构建:
可以从 GitHub release 中获取 SQLite 扩展二进制文件,或者可以手动构建扩展:
cargo build --release --features build_extension
# should give you target/release/libsqlite_zstd.so
可以将此库作为 SQLite 扩展或作为 Rust 库加载。 请注意,sqlite 扩展不是持久的,因此每次连接数据库时都需要加载它。
Sqlite CLI
在 REPL 中加载它:
$ sqlite3 file.db SQLite version 3.34.0 2020-12-01 16:14:00 sqlite> .load .../libsqlite_zstd.so [2020-12-23T21:30:02Z INFO sqlite_zstd::create_extension] [sqlite-zstd] initialized sqlite>
或者:
sqlite3 -cmd '.load libsqlite_zstd.so' 'select * from foo'
C API
int success = sqlite3_load_extension(db, "libsqlite_zstd.so", NULL, NULL);
Rust
推荐的方法是添加 sqlite_zstd
作为项目的依赖项,然后使用
let conn: rusqlite::Connection; sqlite_zstd::load(&conn)?;
或者,也可以像任何其他扩展一样加载扩展:
let conn: rusqlite::Connection; conn.load_extension("libsqlite_zstd.so", None)?;
用 Rust 扩展 SQLite 作为进程内数据库,SQLite 具有其他扩展机制,例如 用户定义函数(简称 UDF)。但是UDF有一些缺点: UDF 在 SQLite 连接中是当前生效的,而不是为所有连接共享; UDF 必须在程序中定义。这意味着您需要在与您的应用程序相同的作用域内使用该功能。 这就是 UDF 的用武之地。UDF 可以用任何可以编译为共享库或者 DLL 的编程语言编写。然后,您可
SQLite 3.9 版本以后天加了 JSON1 扩展,并且新增了 FTS5 全文搜索。FTS5 提高了复杂搜索的请求效率,并自带了 BM25 算法实现。 安装 首先确保你的 SQLite 安装了 JSON1 和 FTS5 扩展: 如果没有可以重新安装:brew uninstall --ignore-dependencies sqlite3; brew install sqlite3 --with
SQLite是一种基于模式的轻量级关系数据库引擎。 它是用于Web浏览器中本地存储的嵌入式数据库软件的流行选择。 与许多其他数据库管理系统不同,SQLite不是客户端 - 服务器数据库引擎。 有关更多信息,请阅读我们的 SQLite教程 在本章中,您将学习如何使用CoffeeScript与SQLite数据库进行通信。 安装 (Installation) 可以使用node-sqlite3模块将SQL
Peewee数据库对象在线程之间共享。我假设这意味着数据库连接也是共享的。 我找不到一个具体的答案,所以我在这里问。
我将开始使用PyQt5及其sqlite的Sql类。我想将扩展加载到sqlite中。为此,必须在运行时为sqlite启用扩展加载。在python模块sqlite3中,这是通过enable_load_扩展启用的。 在C中,句柄可以这样获得(取自https://doc.qt.io/qt-5/qsqldriver.html#handle): python的等价物是 作为旁注,在Pyside2中,handl
SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。 Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用。 在使用SQLite前,我们先要搞清楚几个概念: 表是数据库中存放关系数据的集合,一个数据库里面通常都包含多
SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。 Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用。 在使用SQLite前,我们先要搞清楚几个概念: 表是数据库中存放关系数据的集合,一个数据库里面通常都包含多