临近秋招,整理了一下前段时间找实习时被问过的高频八股(多为互联网大厂)+一些自己的补充。这些只是最基础最基础必须全文背诵的八股!答案很简略,基本都是自己的理解,如有勘误还请指出,虚心改正。
一、什么是数据库事务?
定义:事务是数据库执行的逻辑单位,包含一系列读写操作,整个单元不可分割,是原子性的。
特性:ACID,即原子性、一致性、隔离性、持久性(一致性是指,事务执行前后,数据库都必须处于一致的状态,如转账)
二、事务的隔离级别?(蚂蚁)
脏读:一个事务修改了数据还没提交,另一个事务就已经读到了修改后的数据
幻读:某一次select的结果无法支撑后续对此结果的操作(如select某记录不存在,但接下来insert该记录时又已存在该记录无法插入)
不可重复读:是指在数据库访问中,一个事务范围内两个相同的查询却返回了不同数据。
脏读 | 不可重复读 | 幻读 | |
---|---|---|---|
读未提交 Read Uncommitted | √ | √ | √ |
读已提交 Read Committed | x | √ | √ |
可重复读 Repeatable Read | x | x | √ |