最近写了个对 sqlite 数据库读写都比较大且频繁的程序,踩了一些坑。最后用了如下配置最大化 sqlite3 的性能。
PRAGMA journal_mode = WAL;
PRAGMA busy_timeout = 5000;
PRAGMA synchronous = NORMAL;
内存够用的话还可以设置这两个选项加大内存缓存。
PRAGMA cache_size = 1000000000;
PRAGMA temp_store = memory;
1
jiuhuicinv 16 天前
WAL 会多个文件出来。
|
![]() |
2
heimoshuiyu 16 天前
SQLite 怎么会有并发呢,写入都是单线程上锁的,自己写个单线程的 worker 顺序处理写操作可能比一堆线程在那竞争锁还快
|
![]() |
3
felixcode 16 天前 via Android
使用场景有问题
|
4
strobber16 16 天前 via Android
当年我引入 sqlite 的时候问的 gpt ,gpt 就是给的一模一样的这三条
|