什么时候在sqlite上使用pragma?

时间:2010-05-21 15:46:16

标签: sqlite pragma

使用pragma时?

首次创建数据库时,还是在与数据库的每次连接中创建数据库?

1 个答案:

答案 0 :(得分:17)

这取决于使用的pragma。来自The definitive guide to SQLiteDatabase Configuration

  

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

或者,用您的问题的话来说:临时表单用于与数据库的每个连接中,在第一次创建数据库时使用永久表单

pragma documentation未明确指定编译指示是临时还是永久。但是,它通常会说类似

  必须在创建任何表之前打开

自动吸尘功能。创建表后,无法启用或禁用自动真空。

意味着auto_vacuum是一个永久的编译指示,或

  

使用cache_size编译指示更改缓存大小时,更改仅适用于当前会话。

意味着cache_size是临时的。

所以你最好回答你的问题是仔细阅读你的具体实用工具的文档。或者,您可以学习pragma source code(搜索** PRAGMA [,区分大小写)。