45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
---
|
||
id: backend.mysql.index
|
||
title: MySQL
|
||
type: index
|
||
domain: backend
|
||
stack: [mysql]
|
||
tags: [数据库, SQL, MySQL, InnoDB]
|
||
week: [2, 14]
|
||
---
|
||
|
||
# MySQL
|
||
|
||
国内招聘里出现最多的关系数据库。本计划先用 [PostgreSQL](../postgresql/index.md) 学 SQL 和事务,再用这个专题补齐 MySQL(InnoDB)特有的知识:聚簇索引、EXPLAIN 读法、间隙锁、主从复制和分库分表——这些是面试高频题。
|
||
|
||
> 示例在 MariaDB 11.8 上验证过;MariaDB 与 MySQL 8 在 `EXPLAIN ANALYZE`、部分系统变量上有差异,文中已标注,以 MySQL 官方文档为准。
|
||
|
||
## 学习路线
|
||
|
||
| 顺序 | 课程 | 级别 | 预计 |
|
||
| --- | --- | --- | --- |
|
||
| 1 | [InnoDB 索引:B+ 树、聚簇索引、回表、最左前缀和 EXPLAIN](01-index-explain.md) | 基础 | 3 小时 |
|
||
| 2 | [事务、隔离级别、MVCC 和锁(行锁、间隙锁、死锁)](02-tx-locks-mvcc.md) | 进阶 | 4 小时 |
|
||
| 3 | [运维与扩展:慢查询、主从复制、读写分离、分库分表](03-ops-scale.md) | 进阶 | 3 小时 |
|
||
|
||
## 企业场景
|
||
|
||
- [大表深分页和历史数据:游标分页、延迟关联、归档](scenarios/deep-pagination.md)
|
||
|
||
## 面试题
|
||
|
||
- [MySQL 面试题](interview.md)
|
||
|
||
## 示例代码
|
||
|
||
- [examples/deep-pagination](examples/deep-pagination/):Python + PyMySQL 对比 `LIMIT offset` 和游标分页;设置 `MYSQL_URL` 后运行
|
||
|
||
## 在 16 周计划中
|
||
|
||
- [第 2 周:数据库 + 鉴权(MySQL 对照)](../../../plan/week02-db-auth.md)、[第 14 周:后端扩展](../../../plan/week14-backend-extend-deploy.md)
|
||
|
||
## 官方资料
|
||
|
||
- MySQL 8.4 参考手册:https://dev.mysql.com/doc/refman/8.4/en/
|
||
- InnoDB 锁:https://dev.mysql.com/doc/refman/8.4/en/innodb-locking.html
|