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;
相关推荐
星火开发设计20 小时前
序列式容器:list 双向链表的特性与用法
开发语言·前端·数据结构·数据库·c++·链表·list
Zzz 小生20 小时前
LangChain Messages:消息使用完全指南
数据库·windows·microsoft
寂寞旅行1 天前
向量数据库Milvus的使用
数据库·milvus
闻哥1 天前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
道亦无名1 天前
aiPbMgrSendAck
java·网络·数据库
l1t1 天前
duckdb polyglot 插件的使用
sql·duckdb
面向对象World1 天前
正点原子Mini Linux 4.3寸800x480触摸屏gt115x驱动
linux·服务器·数据库
dinga198510261 天前
mysql之联合索引
数据库·mysql
微风中的麦穗1 天前
【SQL Server 2019】企业级数据库系统—数据库SQL Server 2019保姆级详细图文下载安装完全指南
大数据·数据库·sqlserver·云计算·个人开发·运维必备·sqlserver2019
zjttsh1 天前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql