mysql事务处理


一个事务是一个连续的一组数据库操作
1、其实我理解的事务处理就相当于锁,它主要的目的是:当多个用户同时访问同一张表或者同一个数据的时候,对数据的更改需要让它实现原子操作(即保证数据的更新从一个状态改变为另一个状态保证一致性),
2、事务处理有4个特性:原子性、一致性、隔离性、持久性 (简称:ACID)
原子性:数据的更改一次性做完,即要么做就做完,要么就不做
一致性:事务完成时,必须所有数据从一致性状态更改到另一种一致性状态,保证数据的完整性
隔离性:用户处理表或者更改数据时必须独立
持久性:更改后的数据是永远的,即使重启操作系统更改的数据也存在

3、事务主要是靠存储引擎来实现。存储引擎又靠日志来实现,常用的存储引擎有两个:INNODB和BDB
4、日志主要是借助于缓存来实现,只有调用commit后,修改后的数据才会从缓存中写入磁盘里,如果不需要改变的话就可以调用rollback来实现回滚
5、事务主要用了三个函数来实现:begin(开始)、commit(确定)、rollback(回滚)
调用begin
然后就可以对表进行增、删、改、查,如果没有调用commit,那么改变的数据是存放到日志缓存中的,只有调用commit才会把更改的数据写入磁盘里
最后如果想撤销更改的话,直接调用rollback,进行回滚

6、既然事务相当于锁,那就重点说一说INNODB锁,锁的类型:
共享锁:代号:S(即share),它主要针对行或组(即多行)
排他锁:代号:X,它也是针对行或组,但它具有排他性
意向锁:它主要针对的是整张表上锁,意向锁分为:意向共享锁和意向排他锁;
7、最后说一下锁粒度-->主要针对表锁和行锁
表锁管理锁的开销最小,同时允许的并发量也最小的机制
行锁可以支持最大并发。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL事务处理是一种用于确保数据库操作的一致性和完整性的机制。事务是一组数据库操作,要么全部成功执行,要么全部回滚到初始状态。 在MySQL事务处理的关键是使用ACID属性来保证数据的一致性和可靠性: 1. 原子性(Atomicity):事务的所有操作要么全部成功执行,要么全部失败回滚。MySQL使用日志来记录事务的操作,以便在发生故障时进行回滚。 2. 一致性(Consistency):事务开始之前和结束之后,数据库的完整性约束没有被破坏。如果事务执行过程发生错误,所有已经执行的操作将被回滚,数据库将回到事务开始之前的状态。 3. 隔离性(Isolation):并发执行的事务之间相互隔离,每个事务都感觉不到其他事务的存在。MySQL通过锁机制来实现隔离性,保证事务之间不会相互干扰。 4. 持久性(Durability):一旦事务提交成功,其所做的修改将永久保存在数据库,即使发生系统故障也不会丢失。 在MySQL,可以使用以下语句来控制事务的开始、提交和回滚: 1. BEGIN或START TRANSACTION:开始一个新的事务。 2. COMMIT:提交事务,使之生效。 3. ROLLBACK:回滚事务,撤销之前的操作。 在实际应用事务处理可以用于处理复杂的业务逻辑,确保数据的完整性和一致性。同时,合理地使用事务可以提高数据库的性能和并发能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值