优化sqlite性能
优化SQLite性能
日志模式
修改后SQLite不再直接随机写入到数据库文件中,而是先行顺序写入到预写式日志,并定期提交到数据库文件中。
Pragma | 值 | 描述 |
---|---|---|
DELETE | 默认模式。在该模式下,在事务结束时,日志文件将被删除 | |
TRUNCATE | 日志文件被截断为零字节长度 | |
PERSIST | 日志文件被留在原地,但头部被重写,表明日志不再有效 | |
MEMORY | 日志记录保留在内存中,而不是磁盘上 | |
OFF | 不保留任何日志记录 |
PRAGMA journal_mode=WAL;
磁盘同步模式
设定当前磁盘同步模式,该模式控制SQLite如何将数据写入物理磁盘
Pragma | 值 | 描述 |
---|---|---|
0/OFF | 不进行同步 | |
1/NORMAL | 在关键的磁盘操作的每个序列后同步 | |
2/FULL | 在每个关键的磁盘操作后同步 |
PRAGMA synchronous=NORMAL
Leave a comment