0

0

对数据库事务的总结_MySQL

php中文网

php中文网

发布时间:2016-06-01 13:29:02

|

1171人浏览过

|

来源于php中文网

原创

bitsCN.com

对数据库事务的总结

 

Dbsite企业网站管理系统1.5.0
Dbsite企业网站管理系统1.5.0

Dbsite企业网站管理系统V1.5.0 秉承"大道至简 邦达天下"的设计理念,以灵巧、简单的架构模式构建本管理系统。可根据需求可配置多种类型数据库(当前压缩包支持Access).系统是对多年企业网站设计经验的总结。特别适合于中小型企业网站建设使用。压缩包内包含通用企业网站模板一套,可以用来了解系统标签和设计网站使用。QQ技术交流群:115197646 系统特点:1.数据与页

下载

1.什么是事务?

 事务是逻辑上的一组操作,而组成这一组操作的是各个单位,要么全部执行成功,要么全部执行失败。

 

示例:银行转帐,要么转帐成功,要么失败。不可以出现A帐户的钱少了,B帐户上的钱没有增加。

 

2.事务的四大特性(ACID)面试常考

a.原子性(Atomicity)

 事务是指一组不可分割的单位,事务中的操作要么全部执行成功,要么全部失败

 

b.一致性(Consistency)

 事务必须保证数据库从一个一致性状态转换到另一个一致性状态

 

示例:当AB两个帐户在未转帐前两个帐户上的总金额是2000,那么在完成转帐之后,AB两个帐户上的总金额还得是2000。

 

c.隔离性(Islation) (重点)

 当多个用户并发的向数据库发生访问时,数据库为每一个用户分别开启一个事务,事务与事务的数据是不允许相互干扰的,

 要将多个事务之间相互隔离开来。

d.持久性

 一旦事务被commit,那么数据库就必须将数据进行永久保存,即使之后数据库发生了故障,也不能影响到已经被提交了的数据。

3.四种隔离级别

1).在列举这四种隔离级别之前,先来说一下如果不设置隔离级别的话,会造成的以下三种问题:

a.脏读

 

有AB两个事务,AB都并发开启事务,A查询到了B还未commit提交的数据,这就叫脏读。

b.不可重复读

 

A开启了一个事务,写了一条查询某一条记录的select语句,得到了一个结果,当再次执行

这个select语句时,得到的结果与先前的结果不同,这就是不可重复读。注意:不可重复读

这种现象,不可以说是对的,也不可以说是错的,要看使用场景。

c.虚读(幻读)

 

有AB两个事务,AB都并发开启事务,B事务insert了一条新的记录,还未提交,然后A再查询这张表

中所有的记录,发现多了一条新记录;然后B事务rollback;commit;A事务再查询这张表中所有的记录,

发现刚刚多出的一条新记录消失了,这就是虚读。

2)隔离的四种级别

a.serializable 这是最高级别,可以避免上述三种问题的发生,但是是单线程  性能最低

 

b.repeatable read:可以避免 脏读 不可重复读  但可能会发生虚读 

 

c.read committed:可以避免脏读 不可避免不可重复读,虚读

 

d.read uncommitted:脏读,不可重复读,虚读都可能会发生 ,但性能最高

 

注:MySQL数据库的默认事务级别是repeatable read,并且MySQL数据库支持上述四种隔离级别。

Oracle数据库只支持serializable 和 read committed 这两中隔离级别。

 

bitsCN.com

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 5.9万人学习

Django 教程
Django 教程

共28课时 | 2.4万人学习

Excel 教程
Excel 教程

共162课时 | 9.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号