最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

数据库事务的属性

来源:动视网 责编:小采 时间:2020-11-09 16:03:28
文档

数据库事务的属性

数据库事务的属性:1 、数据库事务的属性- ACID (四个英文单词的首写字母): 1 )原子性( Atomicity ) 所谓原子性就是将一组操作作为一个操作单元,是原子操作,即要么全部执行,要么全部不执行。 2 )一致性( Consistency ) 事务的一致性指的是在一个事务执行之前和执
推荐度:
导读数据库事务的属性:1 、数据库事务的属性- ACID (四个英文单词的首写字母): 1 )原子性( Atomicity ) 所谓原子性就是将一组操作作为一个操作单元,是原子操作,即要么全部执行,要么全部不执行。 2 )一致性( Consistency ) 事务的一致性指的是在一个事务执行之前和执


1 、数据库事务的属性- ACID (四个英文单词的首写字母): 1 )原子性( Atomicity ) 所谓原子性就是将一组操作作为一个操作单元,是原子操作,即要么全部执行,要么全部不执行。 2 )一致性( Consistency ) 事务的一致性指的是在一个事务执行之前和执

1、数据库事务的属性-ACID(四个英文单词的首写字母):

1)原子性(Atomicity)

所谓原子性就是将一组操作作为一个操作单元,是原子操作,即要么全部执行,要么全部不执行。

2)一致性(Consistency)

事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态。如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。

3)隔离性(Isolation)

隔离性指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。

4)持久性(Durability)

持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。即一旦一个事务提交,DBMS(Database Management System)保证它对数据库中数据的改变应该是永久性的,持久性通过数据库备份和恢复来保证。

2、在关系型数据库中,事务的隔离性分为四个隔离级别,在解读这四个级别前先介绍几个关于读数据的概念。

1)脏读(Dirty Reads):所谓脏读就是对脏数据(Drity Data)的读取,而脏数据所指的就是未提交的数据。也就是说,一个事务正在对一条记录做修改,在这个事务完成并提交之前,这条数据是处于待定状态的(可能提交也可能回滚),这时,第二个事务来读取这条没有提交的数据,并据此做进一步的处理,就会产生未提交的数据依赖关系。这种现象被称为脏读。

2)不可重复读(Non-Repeatable Reads):一个事务先后读取同一条记录,但两次读取的数据不同,我们称之为不可重复读。也就是说,这个事务在两次读取之间该数据被其它事务所修改。

3)幻读(Phantom Reads):一个事务按相同的查询条件重新读取以前检索过的数据,却发现其他事务插入了满足其查询条件的新数据,这种现象就称为幻读。

3、事务四个隔离级别对比:

1)未提交读(Read Uncommitted):SELECT语句以非锁定方式被执行,所以有可能读到脏数据,隔离级别最低。

2)提交读(Read Committed):只能读取到已经提交的数据。即解决了脏读,但未解决不可重复读。

3)可重复读(Repeated Read):在同一个事务内的查询都是事务开始时刻一致的,InnoDB的默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻读。

4)串行读(Serializable):完全的串行化读,所有SELECT语句都被隐式的转换成SELECT ... LOCK IN SHARE MODE,即读取使用表级共享锁,读写相互都会阻塞。隔离级别最高。


隔离级别对比表:


4、事务隔离级别的设置:

1)服务启动选项--transaction-isolation或在配置文件中设置:

[mysqld]
transaction-isolation = {READ-UNCOMMITTED | READ-COMMITTED
| REPEATABLE-READ | SERIALIZABLE}

2)服务启动后的设置:

SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL

{ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }

文档

数据库事务的属性

数据库事务的属性:1 、数据库事务的属性- ACID (四个英文单词的首写字母): 1 )原子性( Atomicity ) 所谓原子性就是将一组操作作为一个操作单元,是原子操作,即要么全部执行,要么全部不执行。 2 )一致性( Consistency ) 事务的一致性指的是在一个事务执行之前和执
推荐度:
标签: 英文 数据库 四个
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top