https://www.sqlite.org/download.html 从这个官网连接下下载
sqlite-tools-win32-x86-3310100.zip
sqlite-dll-win32-x86-3310100.zip
两个文件
解压之后是
以上文件创建C:\sqlite文件夹解压到此文件夹中,然后配置环境变量PATH c:\sqlite 即可
之后可在Navicat Premium中链接数据库,执行pragma journal_mode = WAL;命令
成功会返回一下内容:
关于WAL日志模式
WAL(Write-Ahead Logging)日志模式是SQLite在3.7.0版本上新增的日志模式,用于提高数据库的并发性。
相比默认的日志模式,WAL日志模式有利也有弊。
优点包括:
在大多数情况下,WAL速度更快。
WAL进一步提升了数据库的并发性,因为读不会阻塞写,而写也不会阻塞读。读和写可以并发执行。
使用WAL,磁盘I / O操作更有秩序。
WAL减少了fsync()操作次数,因此在fsync()系统调用被破坏的系统上不易受到问题的影响。
缺点有:
WAL通常要求 VFS 支持共享内存原语。
使用数据库的所有进程必须位于同一台主机上; WAL无法在网络文件系统上运行。
在读取操作远多于写入操作的应用程序中,WAL可能比传统的日志模式稍慢(可能慢1%或2%)。
每个数据库文件都关联了额外的 .wal 文件和 .shm 共享内存文件。
激活WAL日志模式
SQLite数据库连接默认为DELETE模式( journal_mode = DELETE)。若要转换为WAL模式,可以使用以下代码:
PRAGMA journal_mode = WAL;
journal_mode pragma返回新的日志模式的字符串。激活成功时,pragma将返回字符串wal,如果无法完成到WAL的转换,则日志模式将保持不变,并且返回先前的日志模式。
与其他日志模式不同,WAL日志模式是持久的。如果进程设置WAL模式,然后关闭并重新打开数据库,数据库返回的日志模式仍然是WAL。相反,如果进程设置PRAGMA journal_mode = TRUNCATE然后关闭并重新打开,则数据库将以默认的日志模式(DELETE模式)启动。
如果在一个进程上的任何一个数据库连接设置了WAL日志模式,则将在同一数据库文件的所有连接都以WAL日志模式运行。
相关参考:https://www.jianshu.com/p/6a3cb84e8e9a SQLite的原子提交及WAL日志模式
https://www.cnblogs.com/cchust/p/4754619.html Sqlite学习笔记(三)&&WAL性能测试
https://www.twle.cn/l/yufei/sqlite/sqlite-basic-pragma-journal_mode.html SQLite PRAGMA journal_mode
https://www.cnblogs.com/songxingzhu/p/3992884.html SQLite中的PRAGMA语句攻略
https://www.sqlite.org/wal.html sqlite的wal模式
https://www.cnblogs.com/chen1987lei/p/4027385.html SQLite的WAL机制