DB笔记

125 阅读1分钟

  一、数据库引擎(默认InnoDB)

  1. InnoDB:支持事务,支持外键
  2. MyISAM:
  3. MEMORY  

二、数据库事务特性(ACDI)

1、原子性(atomic)

将所有的SQL作为原子工作单位执行,要么全部执行,要么全部不执行;

2、一致性(Consistent)

事务完成后,所有数据的状态都是一致的;

3、持久性(Duration)

事务完成后,对数据库数据的修改被持久化存储;

5、隔离型(Isolation)

如果有多个事务并发执行,每个事务作出的修改必须与其他的事务隔离;

三、数据库隔离级别(默认Repeatable Read)

  1. 读未提交(Read Uncommitted)

A事务可以读取B事务未提交更改的数据,从而导致脏数据

  1. 读已提交(Read Committed)

A事务可以读取B已经提交的数据,两次读到的数据不一致,从而导致不可重复读

  1. 可重复读(Repeatable Read)

A事务不可以读取B已经提交的数据,但是可以更改,从而导致幻读

Serializable:序列化

  • 数据库索引
  • 数据库优化
  • 数据库锁

乐观锁与悲观锁:for update实现

乐观锁:自行开发通过version,时间戳

四、数据库常用函数

\