我应该在 SQLite3 中使用编译指示还是预处理器宏?

Should I use pragmas or preprocessor macros in SQLite3?

无论我使用 PRAGMA 还是预处理器宏,在 SQLite3 中是否存在性能差异?

就我而言,我想知道 PRAGMA foreign_keys = ON#define SQLITE_DEFAULT_FOREIGN_KEYS=1 在行为或性能方面是否有任何区别。

我倾向于使用 pragma 更灵活,但我想知道是否有一些性能损失。

附加问题:pragma 应用于连接的数据库是否正确。如果多个 processes/threads 访问同一个数据库并设置 pragma,是否会存在竞争条件?我假设编译指示信息存储在硬盘上的sqlite3文件中。

PRAGMA和默认设置之间没有速度差异。

这个设置不是针对数据库,而是针对一个数据库连接,所以多个连接不会互相影响。