十一、SQLite PRAGMA
文章永久链接:https://pottercoding.cn/?p=9655
SQLite PRAGMA
SQLite 的 PRAGMA 命令是一个特殊的命令,可以用在 SQLite 环境内控制各种环境变量和状态标志。一个 PRAGMA 值可以被读取,也可以根据需求进行设置。
语法
要查询当前的 PRAGMA 值,只需要提供该 pragma 的名字:
PRAGMA pragma_name;
要为PRAGMA 设置一个新的值,语法如下:
PRAGMA pragma_name = value;
设置模式,可以是名称或等值的整数,但返回的值将始终是一个整数。
auto_vacuum Pragma
auto_vacuum Pragma 获取或设置 auto-vacuum 模式。语法如下:
PRAGMA [database.]auto_vacuum;
PRAGMA [database.]auto_vacuum = mode;
其中,mode 可以是以下任何一种:
| Pragma 值 | 描述 |
|---|---|
| 0 或 NONE | 禁用 Auto-vacuum。这是默认模式,意味着数据库文件尺寸大小不会缩小,除非手动使用 VACUUM 命令。 |
| 1 或 FULL | 启用 Auto-vacuum,是全自动的。在该模式下,允许数据库文件随着数据从数据库移除而缩小。 |
| 2 或 INCREMENTAL | 启用 Auto-vacuum,但是必须手动激活。在该模式下,引用数据被维持,免费页面只放在免费列表中。这些页面可在任 何时候使用 incremental_vacuum pragma 进行覆盖。 |
cache_size Pragma
cache_size Pragma 可获取或暂时设置在内存中页面缓存的最大尺寸。语法如下:
PRAGMA [database.]cache_size;
PRAGMA [database.]cache_size = pages;
pages 值表示在缓存中的页面数。内置页面缓存的默认大小为 2,000 页,最小尺寸为 10 页。