🪴 Quartz 4.0

Search

SearchSearch

§ mysql目录

May 09, 2024, 4 min read

  • 面试题
    • 索引优化,大分页怎么处理?
      • mysql不是跳过offset行,而是取offset+N行,然后放弃前offset行,返回N行。
      • 游标,减少数据量
      • 快速定位获取需要的id数据。然后关联。利用索引覆盖避免回表。如select a.字段 from tableA a, (select id from tableA where age = 1 limit 100000,20) b where a.id = b.id;
    • 索引explain最低要多少? range级别
      • 优化时,至少要达到range级别。即范围检索。
      • 要求是ref级别。使用的是普通索引
      • 最好是consts,最多只有一个匹配行(主键或唯一索引)
    • 建立索引原则(最左匹配和高区分度)
      • 如果存在非等号和等号混合。在建索引时,等号的列要在前面。虽然可能不等号的列区分度更高。
  • 思想
    • 缓存
    • 池化
    • 冷热数据分离
  • mysql架构
    • 组成
      • 连接层 连接器
      • 服务层
        • 分析器,词法语法分析
        • 优化器,执行计划生成、索引选择
        • 执行器,执行操作,返回结果
      • 引擎层
      • 存储层
    • mysql如何执行语句
      • 查询语句执行
      • 更新语句执行
          1. 连接验证解析
          1. 写undolog
          1. 从索引操作数据
          1. 更新数据
          • 在内存中,直接修改内存数据,变成脏页
          • 在磁盘中,非唯一索引,使用changebuffer
          • 在磁盘中,唯一索引,加载到内存中。
          1. 写redolog(prepare状态)二阶段提交
          1. 写binlog(同时将redo log设置为commit状态)
    • bufferpool 缓冲池
  • 索引
    • 一些概念
      • 回表
      • 索引覆盖
      • 索引下推
    • B+树
      • (非叶子节点不存数据)
      • 双向链表
    • 自增主键,
      • 非自增,节点分裂,重新平衡问题
      • 删除主键索引,需要重新构建,成本高
    • rowid
  • 本地事务
    • ACID
    • 并发带来的问题
      • 更新丢失
      • 脏读
      • 不可重复读,B事务修改数据
      • 幻读,B事务新增/删除数据。innodb通过间隙锁来解决
    • 事务隔离级别 (锁 + mvcc(读写并发))
      • 读未提交,少用,不可靠
      • 读已提交,mvcc
      • 可重复读,mvcc + 间隙锁
      • 串行化,少用,性能低。使用锁
  • 日志
    • redolog
    • binlog
    • undolog
  • 锁 大厂面试05期-说一说你对MySQL中锁的理解?
    • 两阶段锁
    • 加锁机制
      • 乐观锁
      • 悲观锁
    • 锁粒度
      • 表级锁
        • MDL
        • 意向锁
        • 表锁
      • 行级锁
        • 记录锁
        • 间隙锁
        • 临键锁
      • 页面锁,主要是BerkeleyDB存储引擎使用页面锁
    • 兼容性
      • 读锁,共享锁, s锁
      • 写锁,排他锁,x锁
    • 锁模式
      • 记录锁
      • 间隙锁
      • 临键锁
      • 意向锁
    • 一条简单SQL的加锁实现分析
    • 死锁
  • MVCC
    • 快照读
    • 当前读
    • readview
  • mysql调优

Graph View

Backlinks

  • AboutTheGarden
  • 数据库bufferpool
  • 数据库page
  • 缓冲池污染

Created with Quartz v4.0.10, © 2024

  • GitHub
  • Discord Community