Mysql之一-基础知识概述

Mysql的基本架构示意图

主要分server层和存储引擎层

日志模块

1.redolog日志(innodb存储引擎特有的)
2.binlog日志(mysql自带的日志)
(这两个的结合需要用两阶段提交)

事务隔离级别

1.读未提交;
2.读提交;(rc)
3.可重复读;(rr)
4.串行化;

索引

1.哈希索引;(适用于只有等值查询的场景)
2.有序数组索引;(适用于等值查询和范围查询场景中的性能就都非常优秀)(更新插入麻烦)
3.二叉搜索树;(符合现有的数据库系统)(B+树)

索引区别

1.非主键索引搜索时, 需要回表查询一次;
2.覆盖索引, 覆盖索引可以减少树的搜索次数; 优先使用覆盖索引优化;
3.最左匹配原则;

1.全局锁;(全库逻辑备份用)
2.表级锁;(MDL锁, 数据库默认加的锁)
3.行锁;

  • 行锁是需要的时候才加上的, 要等到事务结束才释放; 两阶段锁协议;
  • 影响并发度的锁尽量往后放;
hyhcoder wechat
扫码关注我的个人订阅号