MySQL 基本概念

2021-09-07 16:58:49 浏览数 (1)

MyISAM:无事务、锁表、读写互相阻塞、索引不缓存数据、数据与索引分离,都是【非聚集索引】 InnoDB:有事务,默认用主键or唯一非空列or隐藏列建立【聚集索引】(只能有一个),索引和数据在同一个B(平衡)树,影响增改性能,速度快,特性如下:

  • 插入缓冲(insert buffer)
  • 两次写(double write)
  • 自适应哈希索引(adaptive hash index,AHI)
  • 异步IO(asynchronous IO,AIO)
  • 刷新邻接页(flush neighbor page)

稠密索引、稀疏索引

下面两个是很常见的知识点,一定要反复复习记住

ACID

  • 原子性 atomicity
  • 一致性 consistency
  • 隔离性 isolation
  • 持久性 durability

UCRS

隔离级别

脏读

不可重读

幻读

英文名

默认

RU 读未提交

Read uncommitted

RC 读已提交

×

Read committed

其他

RR 可重读

×

×

Repeatable read

MySQL

S 串行化

×

×

×

Serializable

不可重读:更新,一个事务两次读取内容不一样 幻读:插入,一个事务两次读取条数不一样,MySQL 用 MVCC 解决 多版本并发控制 MVCC Multiversion Concurrency Control

  • DB_TRX_ID 最近增改事务ID
  • DB_ROLL_PTR 回滚指针,上一版本 0x...
  • DB_ROW_ID 自增ID,没有主键时的聚簇索引
  • DELETED_BIT 删除

0 人点赞