Announcement

👇Official Account👇

Welcome to join the group & private message

Article first/tail QR code

Skip to content

Lesson 3.1: MySQL 基础与进阶

学习目标

  • 理解 InnoDB 存储引擎的核心机制
  • 掌握索引设计与 SQL 优化技巧

1. 索引设计

索引类型使用场景性能影响
B+Tree(聚簇索引)主键查询最优
二级索引非主键列查询需要回表
联合索引多条件查询最左前缀原则
覆盖索引索引包含所有查询列无需回表
sql
-- 联合索引最左前缀原则
CREATE INDEX idx_name_age ON users(name, age);

-- 生效的查询
WHERE name = 'Alice'
WHERE name = 'Alice' AND age = 25

-- 不生效的查询
WHERE age = 25
WHERE age = 25 AND name = 'Alice'  -- (优化器可重排)

2. 事务与锁

sql
-- MVCC 机制:每行记录隐藏的 trx_id 和 roll_pointer
-- 事务隔离级别:
--   READ UNCOMMITTED
--   READ COMMITTED (默认)
--   REPEATABLE READ (MySQL 默认)
--   SERIALIZABLE

-- 行锁 vs 表锁
SELECT ... FOR UPDATE  -- 行级排他锁
SELECT ... LOCK IN SHARE MODE  -- 行级共享锁

推荐阅读

上次更新于: