何时使用编译指示?
第一次创建数据库还是在每次连接数据库时创建数据库?
这取决于正在使用的编译指示。来自SQLite 的权威指南,数据库配置:
许多 pragma 既有临时形式也有永久形式。临时表单在其生命周期内仅影响当前会话。永久表单存储在数据库中并影响每个会话。
或者,用你的问题的话来说:每次连接到数据库时都使用临时表单,第一次创建数据库时使用永久表单。
pragma 文档没有明确指定 pragma 是临时的还是永久的。但是,它通常会说类似
在创建任何表之前,必须打开自动清理。创建表后无法启用或禁用自动清理。
意义auto_vacuum
是一个永久的语用,或
当您使用 cache_size pragma 更改缓存大小时,该更改仅持续当前会话。
意义cache_size
是暂时的。
因此,回答您的问题的最佳选择是仔细阅读特定编译指示的文档。或者,您可以研究pragma 源代码(搜索** PRAGMA [
,区分大小写)。