SQLite 的 PRAGMA 命令是一个特殊的命令,可以用在 SQLite 环境内控制各种环境变量和状态标志。一个 PRAGMA 值可以被读取,也可以根据需求进行设置,如果我们要查询当前的 PRAGMA 值,只需要提供该 pragma 的名字,如下:
PRAGMA pragma_name;
为 PRAGMA 设置一个新的值,语法如下:
PRAGMA pragma_name = value;
设置模式,可以是名称或等值的整数,但返回的值将始终是一个整数。
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 可获取或暂时设置在内存中页面缓存的最大尺寸,语法如下 :
PRAGMA [database.]cache_size;
PRAGMA [database.]cache_size = pages;
pages 值表示在缓存中的页面数,内置页面缓存的默认大小为 2,000 页,最小尺寸为 10 页。
case_sensitive_like Pragma 控制内置的 LIKE 表达式的大小写敏感度。默认情况下,该 Pragma 为 false,这意味着,内置的