栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL基础(1)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL基础(1)

 事务         特性:

原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。

一致性:事务的执行使得数据库从一种正确状态转换成另一种正确状态

隔离性:在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,

持久性:事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障, 事务的处理结果也会得到保存。

        隔离级别:

(1)读未提交(read Uncommited): 
在该隔离级别,所有的事务都可以读取到别的事务中未提交的数据,会产生脏读问题,在项目中基本不怎么用, 安全性太差; 
脏读:对于两个事务T1与T2,T1读取了已经被T2更新但是还没有提交的字段之后,若此时T2回滚,T1读取的内容就是临时并且无效的
(2) 读已提交(read commited): 
这是大多数数据库默认的隔离级别,但是不是 MySQL 的默认隔离级别;这个隔离级别满足了简单的隔离要求:一个事务只能看见已经提交事务所做的改变,所以会避免脏读问题。
由于一个事务可以看到别的事务已经提交的数据,于是随之而来产生了不可重复读和虚读等问题(下面详细介绍这种问题,结合问题来理解隔离级别的含义);
不可重复读:一个事务读取到另一个事务已经提交的数据
虚读(幻读):一个事务多次查询整表数据,由于其他事务新增(删除)记录造成多次查询的记录条数不同(一个事务读取到另一个事务已经提交的数据)
(3 ) 可重复读(Repeatable read): 
这是 MySQL 的默认隔离级别,它确保了一个事务中多个实例在并发读取数据的时候会读取到一样的数据;不过理论上,这会导致另一个棘手的问题幻读。
目前,MySQL已经在可重复读解决幻读的问题。 
(4) 可串行化(serializable):事物的最高级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之, 
它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争,一般为了提升程序的吞吐量不会采用这个; 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709343.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号