SummerXinBing / xiabing_wuji

学习仓库,用此来驱动自己
Apache License 2.0
0 stars 0 forks source link

Mysql 基础 #12

Open SummerXinBing opened 1 month ago

SummerXinBing commented 1 month ago

Mysql 基础

索引 索引下推 索引失效 聚合索引 索引重排

事务 Mysql事务隔离级别

引申 Spring 事务传播机制(7种)

线程池的拒绝策略(4种)

Header Header Header Header
Cell Cell Cell Cell
Cell Cell Cell Cell
Cell Cell Cell Cell
Cell Cell Cell Cell
Cell Cell Cell Cell
Cell Cell Cell Cell

执行流程

SummerXinBing commented 1 month ago

Spring 事务传播机制(7种) 可以分为3大类:

  1. 支持当前事务:如果当前有事务,就加入;如果当前没有事务(创建新事务;以非事务运行;抛异常)
  2. 不支持当前事务:如果当前有事务,先挂起,(创建一个新事务;以非事务的方式运行);如有事务,则抛异常,不然以非事务运行;
  3. 嵌套事务:两个事务互不干扰
SummerXinBing commented 1 month ago

Mysql

索引(B+树) b+索引(支持搜索、排序、分组) hash索引(只支持搜索)全文索引 地理位置索引 B+树的结构: 叶子节点存放数据;如果使用普通索引,先去普通索引中查询到主键id,再用主键id去查询所有主键索引,最终拿到值; (主键索引的叶子节点保存的是真正的数据。而辅助索引叶子节点的数据区保存的是主键索引关键字的值。) 索引优化:

  1. 索引不可以放在表达式、函数的入参中,不然不生效
  2. 多个单列索引不如多列索引
  3. 索引选择性最强的索引列放在前面:不重复的索引值/总记录数 = 选择性 <= 1
  4. 最左前缀原则:
  5. 前缀索引
  6. 索引覆盖 引擎 INnodb:支持事务

主从复制和读写分离

分库分表

性能优化和实践