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

标签 c++ performance sqlite c-preprocessor pragma

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

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

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

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

最佳答案

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

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

关于c++ - 我应该在 SQLite3 中使用编译指示还是预处理器宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31560876/

相关文章:

c++ - openCV:imshow 如何处理负值?

javascript - JavaScript 创建的内联样式和 JavaScript 创建的样式表之间的性能差异

mysql - 如何加快从 <我的语言> 插入 <我的 DBMS> SQL 数据库?

sqlite - 如何获得当年的多少天?

java - Android Close() 从未在数据库上显式调用

c++ - Windows 套接字发送字符串流

c++ - Windows C++ 子窗口无响应

c++ - 如何在 C++ 数组的末尾添加一些东西?

python - 加速 Numpy 掩蔽

c# - LINQ to SQL 表类性能