- 面试题
- 索引优化,大分页怎么处理?
- 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如何执行语句
- bufferpool 缓冲池
- 索引
- 一些概念
- B+树
- 自增主键,
- 非自增,节点分裂,重新平衡问题
- 删除主键索引,需要重新构建,成本高
- rowid
- 本地事务
- 日志
- 锁 大厂面试05期-说一说你对MySQL中锁的理解?
- MVCC
- mysql调优