SQLite简单优化之一:源码优化

  • 一:多线程并发优化(Busy Retry 的优化)
  1. 开启配置 PRAGMA SQLITE_THREADSAFE=2
  2. 确保同一个句柄同一时间只有一个线程在操作
  • 二:I/O 性能优化(保留 WAL 文件大小,mmap 优化)
  1. 配置PRAGMA mmap_size=XXX 即可开启mmap
  2. 在WAL文件打开时,用unixMapfile将其映射到内存中,SQLite的OS层即会自动识别,将普通的I/O接口切换到mmap上。
  • 三:其他优化(禁用文件锁,禁用内存统计锁)
  1. ​​​​​​​关闭文件锁:注释掉os_unix.c中所有文件锁相关的操作。
  2. 关闭内存统计​​​​​​​:可以通过sqlite3_config(SQLITE_CONFIG_MEMSTATUS, 0) 进行关闭。
  • 知识参考自微信iOS团队

你可能感兴趣的:(SQLite)