分享适合高并发场景的 SQLite 设置 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
cj323

分享适合高并发场景的 SQLite 设置

  •  
  •   cj323 Aug 19, 2025 1954 views
    This topic created in 252 days ago, the information mentioned may be changed or developed.

    最近写了个对 sqlite 数据库读写都比较大且频繁的程序,踩了一些坑。最后用了如下配置最大化 sqlite3 的性能。

    PRAGMA journal_mode = WAL; PRAGMA busy_timeout = 5000; PRAGMA synchrOnous= NORMAL; 
    1. journal_mode = WAL: 支持读写同时进行。高并发下提升最明显
    2. busy_timeout:可以缓解同时多写入时的 SQLITE_BUSY 报错。5000 是五秒。
    3. PRAGMA synchrOnous= NORMAL; 减小默认同步频率

    内存够用的话还可以设置这两个选项加大内存缓存。

    PRAGMA cache_size = 1000000000; PRAGMA temp_store = memory; 
    4 replies    2025-08-19 09:07:19 +08:00
    jiuhuicinv
        1
    jiuhuicinv  
       Aug 19, 2025
    WAL 会多个文件出来。
    heimoshuiyu
        2
    heimoshuiyu  
       Aug 19, 2025
    SQLite 怎么会有并发呢,写入都是单线程上锁的,自己写个单线程的 worker 顺序处理写操作可能比一堆线程在那竞争锁还快
    felixcode
        3
    felixcode  
    PRO
       Aug 19, 2025 via Android
    使用场景有问题
    strobber16
        4
    strobber16  
       Aug 19, 2025 via Android
    当年我引入 sqlite 的时候问的 gpt ,gpt 就是给的一模一样的这三条
    About     Help     Advertise     Blog     API     FAQ     Solana     979 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 20:41 PVG 04:41 LAX 13:41 JFK 16:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86