9

何时使用编译指示?

第一次创建数据库还是在每次连接数据库时创建数据库?

4

1 回答 1

20

这取决于正在使用的编译指示。来自SQLite 的权威指南数据库配置

许多 pragma 既有临时形式也有永久形式。临时表单在其生命周期内仅影响当前会话。永久表单存储在数据库中并影响每个会话。

或者,用你的问题的话来说:每次连接到数据库时都使用临时表单,第一次创建数据库时使用永久表单

pragma 文档没有明确指定 pragma 是临时的还是永久的。但是,它通常会说类似

在创建任何表之前,必须打开自动清理。创建表后无法启用或禁用自动清理。

意义auto_vacuum是一个永久的语用,或

当您使用 cache_size pragma 更改缓存大小时,该更改仅持续当前会话。

意义cache_size是暂时的。

因此,回答您的问题的最佳选择是仔细阅读特定编译指示的文档。或者,您可以研究pragma 源代码(搜索** PRAGMA [,区分大小写)。

于 2010-05-21T17:02:51.083 回答