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;
相关推荐
V1ncent Chen2 分钟前
SQL大师之路 11 外连接和自连接
数据库·sql·mysql·数据分析
zklgin3 分钟前
PostgreSQL常用时间函数与时间计算提取示例说明
数据库·postgresql
曾阿伦5 分钟前
SQL CRUD 用法详解:从入门到实战的完整指南
数据库·sql
让学习成为一种生活方式5 分钟前
Swiss-Prot 注释--生信工具079
数据库
2601_9486061814 分钟前
MySQL B+树索引高度计算与性能阈值探讨
数据库·b树·mysql
lierenvip16 分钟前
mysql用户名怎么看
数据库·mysql
qq_4160187216 分钟前
用户认证与授权:使用JWT保护你的API
jvm·数据库·python
KKKlucifer1 小时前
国产化适配与自主可控:国内安全厂商文档安全平台核心技术构建
大数据·数据库·人工智能
nexus_new1 小时前
Flutter 纯 Dart 数据库 Tostore 快速上手指南
数据库
MaximusCoder1 小时前
等保测评命令——达梦数据库 DM
linux·运维·数据库·安全·ffmpeg·安全威胁分析