使用 TCL 在 SQLite 上更改 journal_mode

Change journal_mode on SQLite with TCL

我想升级我的插入速度并且我阅读了有关修改日志模式的内容。我怎样才能在 TCL 代码上做到这一点?谢谢!

假设 db 是您的 SQLite 数据库句柄,您只需像这样发出 PRAGMA

db eval {
    PRAGMA journal_mode = WAL;
}

如果您非常关心速度而不是完整性(我有一个应用程序就是这种情况),那么您在执行所有插入操作时只需关闭同步可能就足够了。

db eval {
    PRAGMA synchronous = OFF;
}

这样做可以使写入 SQLite 数据库的速度与直接写入您自己的二进制文件一样快,但在某些情况下这只是一个好主意。 (上面提到的我的案例是编写过程是数据库的组成部分,除了完全成功之外,其他任何事情对用户都没有用。绝对 不是正常的数据库用例!)

请注意,pragma 是每个 DB handle/connection。