旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

关于数据库事务处理的一些问题总结【MySQL教程】,事务

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:85评论:0


导读:关于mysql事件处置惩罚的一些总结:1、什么是事件?MySQL事件重要用于处置惩罚操纵量大,复杂度高的数据。比如说,在职员治理体系中,你删除一个职员,你即须要删...
关于mysql事件处置惩罚的一些总结:

1、什么是事件?

MySQL 事件重要用于处置惩罚操纵量大,复杂度高的数据。

比如说,在职员治理体系中,你删除一个职员,你即须要删除职员的基本资料,也要删除和该职员相干的信息,

如信箱,文章等等,如许,这些数据库操纵语句就组成一个事件!

2、事件运用的前提

MySQL要运用事件,须要MySQL中的存储引擎支撑.现现在MySQL内置的存储引擎支撑事件的有InnoDBNDB cluster,

第三方的存储引擎有PBXTXtrDB.

3、事件有什么特性

3-1、原子性

一个事件必需被作为一个不可分割的最小事情单位,每一个事件中的一切操纵必需要么胜利,或许要么失利,

永久不可能一些操纵失利,一些操纵胜利,这就是所谓的原子性的观点.

3-2、一致性

一致性就像上面举的一个例子一样,当发作非常状况下,数据仍然是准确的.就是说当一个事件实行失利了,

数据之间是不会受非常的状况而影响,永久保持着他的准确性.

3-3、断绝性

当一个事件还未提交,每一个事件之间是互相断绝的,互不受到影响.

3-4、持久性

当一个事件举行提交以后,发作的变化就会永久保留在数据库中.

4、事件的断绝级别

4-1、未提交读

一个事件中对数据所做的修正,纵然没有提交,这个修正对其他的事件还是可见的,这类状况下就轻易涌现脏读,影响了数据的完整性.

4-2、读提交

一个事件开始时,只能瞥见其他已提交过的事件.这类状况下轻易涌现不可重复读(两次读的效果不一样).

4-3、可重复读

屡次读取纪录的效果都是一致的,可重复读能够处理上面的不可重复读的状况.然则有如许一种状况,

当一个事件在读取某个局限的纪录时,别的一个事件在这个局限内插进去了一条新的数据,当事件再次举行读取数据时,

发明比第一次读取纪录多了一条,这就是所谓的幻读,两次读取的效果不一致.

4-4、可串行

串行就像一个行列一个样,每一个事件都是列队期待着实行,只要前一个事件提交以后,下一个事件才举行操纵.

这类状况虽然能够处理上面的幻读,然则他会在每一条数据上加一个锁,轻易致使大批的锁超时和锁合作,

迥殊不适用在一些高并发的营业场景下.

4-5、断绝性总结

经由过程上面的举例,我们不难发明.脏读和不可重复读重在更新数据,然后幻读重在插进去数据.

5、多种存储引擎时事件的处置惩罚方式

依据上面事件运用的前提,我们能够得知有的存储引擎是不支撑事件的,比方MyISAM存储引擎就不支撑.

那如果在一个事件中运用了事件性的存储引擎和非事件性的存储,提交是能够一般举行,

然则回滚非事件性的存储引擎则会显现相应的错误信息,细致信息和存储引擎有关.

6、怎样运用事件

MySQL中事件隐式开启的,也就是说,一个sql语句就是一个事件,当sql语句实行终了,事件就提交了.在演示的过程当中,我们显式开启.

7、mysql的自动提交

上面提到了MySQL中事件是隐式开启的,则代表我们每一个sql是自动提交的,须要封闭则须要设置autocommit选项.

8、设置事件的断绝级别

set session transaction isolation level 断绝级别;

以上是为人人预备的关于数据库事件处置惩罚的一些相干题目,更多相干题目请接见ki4网相干文章。感谢!

引荐数据库相干视频:https://www.ki4.cn/course/list/51/type/2.html

以上就是关于数据库事件处置惩罚的一些题目总结的细致内容,更多请关注ki4网别的相干文章!

标签:事务


欢迎 发表评论: