回表

索引分类

- 唯一索引,不需要回表操作
- 普通索引,回表的时候可以通过覆盖索引优化
覆盖索引,选择id的时候,先查nameB+树,这棵树带着id,所以不需要回表

全文索引,myisam支持,mysql5.6之后的innodb开始支持
倒排索引,
组合索引,索引最左匹配原则(最左前缀)
选择合适的应用场景建立合适的索引,选择占用更小空间的索引
explain 来查询计划

索引下推

回表之前就已经把数据进行了一次筛选
MySQL存储引擎

索引维护


查询缓存
mysql8.0之后,没有查询缓存了
AST抽象语法树

查询缓存



日志
服务端日志,binlog
存储引擎端日志
innodb,redolog,用于前滚

wal,write ahead log

log buffer,属于用户空间
undo log,用于回滚

binlog-服务端日志
redo是innodb独有,binlog所有引擎通用
redo是物理日志,记录某个数据页做了什么修改;binlog是逻辑日志,记录语句原始逻辑




Redo log 两阶段提交

mySql索引
标签:系统 style 原则 唯一索引 explain 地址 mysql8 索引 倒排索引