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

时间:2015-07-22 10:44:47

标签: c++ performance sqlite c-preprocessor pragma

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

就我而言,我想知道PRAGMA foreign_keys = ON#define SQLITE_DEFAULT_FOREIGN_KEYS=1之间在行为或表现方面是否存在任何差异。

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

其他问题:pragma适用于连接的数据库是否正确。如果多个进程/线程访问同一个数据库并设置了一个pragma,是否存在竞争条件?我假设pragma信息存储在硬盘上的sqlite3文件中。

1 个答案:

答案 0 :(得分:1)

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

此设置不适用于数据库,而是适用于数据库连接,因此多个连接不会相互影响。