一、数据库引擎(默认InnoDB)
- InnoDB:支持事务,支持外键
- MyISAM:
- MEMORY
二、数据库事务特性(ACDI)
1、原子性(atomic)
将所有的SQL作为原子工作单位执行,要么全部执行,要么全部不执行;
2、一致性(Consistent)
事务完成后,所有数据的状态都是一致的;
3、持久性(Duration)
事务完成后,对数据库数据的修改被持久化存储;
5、隔离型(Isolation)
如果有多个事务并发执行,每个事务作出的修改必须与其他的事务隔离;
三、数据库隔离级别(默认Repeatable Read)
- 读未提交(Read Uncommitted)
A事务可以读取B事务未提交更改的数据,从而导致脏数据
- 读已提交(Read Committed)
A事务可以读取B已经提交的数据,两次读到的数据不一致,从而导致不可重复读
- 可重复读(Repeatable Read)
A事务不可以读取B已经提交的数据,但是可以更改,从而导致幻读
Serializable:序列化
- 数据库索引
- 数据库优化
- 数据库锁
乐观锁与悲观锁:for update实现
乐观锁:自行开发通过version,时间戳
四、数据库常用函数
\