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;
相关推荐
lzhdim13 小时前
SQL 入门 2:LIKE、正则、 ORDER BY 与LIMIT
数据库·sql·mysql
GDAL13 小时前
SQLite 的适用场景与选型指南:它不是轻量 MySQL,而是「文件的升级版」
数据库·mysql·sqlite
yttandb13 小时前
数据库-CRUD
数据库
{Hello World}13 小时前
MySQL学习----------相关库表操作
数据库·学习·mysql
青衫码上行13 小时前
高频 SQL 50题(基础版)| 连接
数据库·sql·mysql
一个响当当的名号13 小时前
lectrue17 时间戳排序并发控制
数据库
布局呆星13 小时前
Python 入门:FastAPI + SQLite3 + Requests 基础教学
python·sqlite·fastapi
xyzhan13 小时前
SQL Server - 列出数据库中所有固定长度字段
数据库·sql·oracle·sql server
skywalk816314 小时前
新华字典:pwxcoo/chinese-xinhua 中华新华字典数据库。包括歇后语,成语,词语,汉字。
数据库·字典
念越14 小时前
MySQL 聚合函数与分组查询全解析
数据库·mysql