这一定是很有用的应对面试和考试的数据库知识点

整理相关的数据库知识点,帮你获得心仪的优惠。
1.数据库事务
1.1什么是数据库事务?
事务是指一组逻辑上相关的操作,这些操作要么全部完成,要么都没有完成。
它是事务管理系统执行过程中的逻辑工作单元,是用户自定义的操作序列。这些操作要么全部执行,要么都不执行,是一个不可分割的工作单元。
1.2.交易的特征
交易的ACID属性:

原子性:事务是不可分割的工作单元。一个事务中包含的所有操作,不是完成就是未完成,不会在中间环节结束。
一致性:事务必须将数据库从一种一致性状态更改为另一种一致性状态。
隔离:一个事务的执行不能被其他事务干扰。当并发执行多个事务时,这些事务应该相互隔离。
持久性:一旦事务被提交,它的更改将永久存储在数据库中,即使数据库失败也不会丢失。

1.3.事务的隔离级别
事务的隔离级别指的是在事务期间数据修改被其他公司看到的程度。从最低到最高的事务隔离级别是:

未提交读取:一个事务可以读取由另一个事务修改但尚未提交的数据。
Read Committed:一个事务只能读取另一个事务已经提交的数据。
可重复读取(Repeatable Read ):同一数据在事务执行过程中被多次读取,结果总是一致的。在可重复读取隔离级别下,不允许幻像读取,但允许不可重复读取。
Serializable:所有事务逐个执行,事务不能并发执行。

隔离级别越高,事务之间的并发越少,但并发性能越差。
1.4.事务的并发性
事务的并发问题主要如下:

脏读:一个事务读取另一个事务的未提交数据。
不可重复读取:一个事务多次读取相同的数据,结果不一致。
幻像读取:一个事务多次读取同一范围的数据,结果不一致。
丢失更新:一个事务读取另一个事务提交的数据。

不可重复读数和幻象读数的区别:

不可重复读取是指同一数据在一个事务中被多次读取,结果不一致;
幻读是指在一个事务中多次读取同一范围的数据,结果不一致。

1.5.交易的并行处理
交易的并发处理主要包括以下内容:

序列化:所有事务都是逐个执行的,事务不能并发执行。
乐观锁定:当提交一个事务时,检查数据是否被其他事务修改过,如果是,放弃提交,否则提交该事务。
悲观锁:当一个事务被执行时,数据被锁定,在该事务结束之前,其他事务不能修改数据。
两阶段锁定协议:在事务执行之前,数据被锁定,直到事务完成。
多版本并发控制(MVCC):读取数据时,读取数据的当前版本,而不是最新版本。
时间戳:事务提交时,检查数据是否被其他事务修改过,如果是,放弃提交,否则提交事务。
快照隔离:在事务执行之前,数据被锁定,直到事务结束。

2.数据库索引
2.1.指数的作用
索引的功能如

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值