Sqlite的事务,锁和WAL模式

本文详细介绍了Sqlite的事务、多链接模型、锁机制及其相关概念,如读写锁、等待锁、死锁、WAL模式。Sqlite通过锁来确保事务的并发性和执行顺序,采用粗粒度锁策略,允许多个读取操作并发,但在写操作时会锁定数据库。WAL模式提高了并发性能,减少了磁盘I/O,并提供了快速故障恢复能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

事务定义了一组SQL语句的边界,这组SQL语句要么都执行,要么都不执行,事务保证了数据库完整性中的原子性。事务与数据库锁是紧密相关的,Sqlite用锁来保证事务的并发和执行顺序。

事务

在讲解事务的原理之前,我们先看看事务相关的API,主要有三个:

  • begin transaction 开始一个事务。其中,transaction可省略,直接写begin即可。
  • rollback 回滚。
  • commit 提交

我们首先来看看回滚,假设有这样的一个Table

id          name        phone     
----------  ----------  ---------<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值