sqlite3多线程操作问题

在项目中使用sqlite3,有时会报database is locked

两种方式

1、多线程读,多线程写,只使用共同一个数据库连接,即使用同一个SQLiteHelper连接,调用sqlite3_busy_timeout

2、多线程读,单线程写,每个线程使用各自独立的数据库连接,但是需要开启wal模式,以开启数据库连接池

开启wal通过如下语句

sql 复制代码
pragma synchronous=NORMAL;
pragma journal_mode=WAL;
pragma wal_autocheckpoint=5000;
相关推荐
lkbhua莱克瓦247 小时前
进阶-存储对象2-存储过程上
java·开发语言·数据库·sql·mysql
码农胖虎-java7 小时前
【AI】向量数据库选型实战:pgvector vs Milvus vs Qdrant
数据库·milvus·pg
Insist7537 小时前
KingbaseES 集群运维案例之 --- 集群架构拆分为单实例操作
网络·数据库·oracle
m0_598177237 小时前
MySQL项目开发 (2)
数据库·mysql
lkbhua莱克瓦248 小时前
进阶-存储对象1-视图
java·数据库·sql·mysql·视图
IvorySQL8 小时前
用 PostgreSQL 实践 Palantir 本体论
数据库·postgresql·开源
yangminlei8 小时前
Spring Boot 自动配置原理与自定义 Starter 开发实战
java·数据库·spring boot
萧曵 丶8 小时前
Redis 由浅到深面试题(分层次版)
数据库·redis·缓存
-XWB-8 小时前
【Oracle】Oracle诊断系列(1/6):健康体检指南——快速掌握数据库状态
数据库·oracle
杨了个杨89828 小时前
Redis常用命令
数据库·redis·缓存