Skip to content

Commit 8da2870

Browse files
committed
feat: TiDB 案例覆盖率补全,新增 8 个高阶案例(87-94),总数 86→94
新增 TiDB 高阶案例(v1.7.1): - 87 · TiFlash 列存与 MPP 分析加速 — 行存 → 列存+MPP 分布式执行 - 88 · TiDB GC 机制与长事务影响 — MVCC 版本回收、Safe Point 阻塞排查 - 89 · Follower Read 读写分离 — 利用 Raft Follower 副本分担读压力 - 90 · TiDB 内存控制与 OOM 防护 — tidb_mem_quota_query + 临时磁盘溢出 - 91 · TiDB Join 算法选择 — Hash/Index/Merge/INLJ/Broadcast Join - 92 · TiDB 在线 DDL 机制 — 多阶段滑移协议、ingest vs backfill - 93 · TiDB Plan Cache 执行计划缓存 — Prepared Statement 缓存命中 - 94 · TiDB Stale Read 历史读优化 — AS OF TIMESTAMP 有界延迟读 文档更新: - 总案例数: 86→94,TiDB 分类: 6→14 - config.ts / HomeFeatures / README / cases/index 同步更新
1 parent 8558f32 commit 8da2870

72 files changed

Lines changed: 5325 additions & 18 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[![TiDB](https://img.shields.io/badge/TiDB-v7.5.1-purple.svg)](https://pingcap.com/)
99
[![CI](https://github.com/slowleelab/sql-lab/actions/workflows/validate-sql.yml/badge.svg)](https://github.com/slowleelab/sql-lab/actions)
1010
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
11-
[![Cases](https://img.shields.io/badge/cases-86-orange.svg)](docs/cases/)
11+
[![Cases](https://img.shields.io/badge/cases-94-orange.svg)](docs/cases/)
1212

1313
📖 **在线文档**[https://slowleelab.github.io/sql-lab/](https://slowleelab.github.io/sql-lab/)
1414
🤖 **AI 对话**:接入 DeepWiki,可直接与仓库对话提问
@@ -61,7 +61,7 @@ type: ref rows: 12 Extra: Using index
6161

6262
## 📚 案例总览
6363

64-
**86 个精选案例**,覆盖 MySQL + TiDB 优化的八大核心场景:
64+
**94 个精选案例**,覆盖 MySQL + TiDB 优化的八大核心场景:
6565

6666
### 一、索引设计与失效(18 个)
6767
| # | 案例 | 难度 | 版本 |
@@ -171,7 +171,7 @@ type: ref rows: 12 Extra: Using index
171171
| 79 | [大批量 UPDATE 分批优化](docs/cases/optimizer/79-batch-update.md) | ⭐⭐ | 5.7 & 8.0 |
172172
| 80 | [慢查询排查方法论](docs/cases/optimizer/80-slow-query-diagnosis.md) | ⭐⭐⭐ | 5.7 & 8.0 |
173173

174-
### 八、TiDB 分布式优化(6 个)
174+
### 八、TiDB 分布式优化(14 个)
175175
| # | 案例 | 难度 | 版本 |
176176
|---|------|------|------|
177177
| 81 | [TiDB EXPLAIN 算子树解读](docs/cases/tidb/81-tidb-explain-tree.md) | ⭐⭐ | TiDB |
@@ -180,6 +180,14 @@ type: ref rows: 12 Extra: Using index
180180
| 84 | [TiDB 统计信息管理](docs/cases/tidb/84-tidb-statistics.md) | ⭐⭐⭐ | TiDB |
181181
| 85 | [TiDB 事务模型对比](docs/cases/tidb/85-tidb-transaction.md) | ⭐⭐⭐ | TiDB |
182182
| 86 | [IndexLookUp 回表与覆盖索引](docs/cases/tidb/86-index-lookup.md) | ⭐⭐ | TiDB |
183+
| 87 | [TiFlash 列存与 MPP 分析加速](docs/cases/tidb/87-tiflash-mpp.md) | ⭐⭐⭐ | TiDB |
184+
| 88 | [TiDB GC 机制与长事务影响](docs/cases/tidb/88-tidb-gc.md) | ⭐⭐⭐ | TiDB |
185+
| 89 | [Follower Read 读写分离](docs/cases/tidb/89-follower-read.md) | ⭐⭐ | TiDB |
186+
| 90 | [TiDB 内存控制与 OOM 防护](docs/cases/tidb/90-tidb-memory-oom.md) | ⭐⭐⭐ | TiDB |
187+
| 91 | [TiDB Join 算法选择](docs/cases/tidb/91-tidb-join-algorithms.md) | ⭐⭐⭐ | TiDB |
188+
| 92 | [TiDB 在线 DDL 机制](docs/cases/tidb/92-tidb-online-ddl.md) | ⭐⭐ | TiDB |
189+
| 93 | [TiDB Plan Cache 执行计划缓存](docs/cases/tidb/93-tidb-plan-cache.md) | ⭐⭐ | TiDB |
190+
| 94 | [TiDB Stale Read 历史读优化](docs/cases/tidb/94-tidb-stale-read.md) | ⭐⭐ | TiDB |
183191

184192
## 🛠️ 项目结构
185193

@@ -188,7 +196,7 @@ sql-lab/
188196
├── docs/ # VitePress 文档站
189197
│ ├── .vitepress/ # 配置 + 自定义组件
190198
│ ├── guide/ # 使用指南
191-
│ └── cases/ # 86 篇案例文档
199+
│ └── cases/ # 94 篇案例文档
192200
├── sql/cases/ # 可运行 SQL(schema + seed + bad + good)
193201
├── scripts/run-case.sh # 一键运行案例
194202
├── docker-compose.yml # MySQL 5.7 + 8.0 + TiDB

docs/.vitepress/config.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,14 @@ const sidebar = {
152152
{ text: '84 · TiDB 统计信息管理', link: '/cases/tidb/84-tidb-statistics' },
153153
{ text: '85 · TiDB 事务模型对比', link: '/cases/tidb/85-tidb-transaction' },
154154
{ text: '86 · IndexLookUp 回表与覆盖索引', link: '/cases/tidb/86-index-lookup' },
155+
{ text: '87 · TiFlash 列存与 MPP 分析加速', link: '/cases/tidb/87-tiflash-mpp' },
156+
{ text: '88 · TiDB GC 机制与长事务影响', link: '/cases/tidb/88-tidb-gc' },
157+
{ text: '89 · Follower Read 读写分离', link: '/cases/tidb/89-follower-read' },
158+
{ text: '90 · TiDB 内存控制与 OOM 防护', link: '/cases/tidb/90-tidb-memory-oom' },
159+
{ text: '91 · TiDB Join 算法选择', link: '/cases/tidb/91-tidb-join-algorithms' },
160+
{ text: '92 · TiDB 在线 DDL 机制', link: '/cases/tidb/92-tidb-online-ddl' },
161+
{ text: '93 · TiDB Plan Cache 执行计划缓存', link: '/cases/tidb/93-tidb-plan-cache' },
162+
{ text: '94 · TiDB Stale Read 历史读优化', link: '/cases/tidb/94-tidb-stale-read' },
155163
],
156164
},
157165
],
@@ -183,14 +191,14 @@ export default defineConfig({
183191
// Open Graph(社交分享卡片)
184192
['meta', { property: 'og:site_name', content: 'SQL Lab' }],
185193
['meta', { property: 'og:type', content: 'website' }],
186-
['meta', { property: 'og:title', content: 'SQL Lab · 86 个能跑的 MySQL/TiDB 优化实战案例' }],
187-
['meta', { property: 'og:description', content: '一套能跑、能量化对比的 MySQL 优化实战案例集。86 个精选案例,8 大场景,覆盖 MySQL 5.7/8.0 和 TiDB,Docker 一键复现,bad/good EXPLAIN 量化对比。' }],
194+
['meta', { property: 'og:title', content: 'SQL Lab · 94 个能跑的 MySQL/TiDB 优化实战案例' }],
195+
['meta', { property: 'og:description', content: '一套能跑、能量化对比的 MySQL 优化实战案例集。94 个精选案例,8 大场景,覆盖 MySQL 5.7/8.0 和 TiDB,Docker 一键复现,bad/good EXPLAIN 量化对比。' }],
188196
['meta', { property: 'og:url', content: 'https://slowleelab.github.io/sql-lab/' }],
189197
['meta', { property: 'og:image', content: 'https://slowleelab.github.io/sql-lab/og-image.svg' }],
190198

191199
// Twitter Card
192200
['meta', { name: 'twitter:card', content: 'summary_large_image' }],
193-
['meta', { name: 'twitter:title', content: 'SQL Lab · 86 个能跑的 MySQL/TiDB 优化实战案例' }],
201+
['meta', { name: 'twitter:title', content: 'SQL Lab · 94 个能跑的 MySQL/TiDB 优化实战案例' }],
194202
['meta', { name: 'twitter:description', content: '一套能跑、能量化对比的 MySQL 优化实战案例集。Docker 一键复现,bad/good EXPLAIN 量化对比。' }],
195203
['meta', { name: 'twitter:image', content: 'https://slowleelab.github.io/sql-lab/og-image.svg' }],
196204
],

docs/.vitepress/theme/components/HomeFeatures.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import { withBase } from 'vitepress'
77
88
const stats = [
9-
{ number: '86', label: '精选案例' },
9+
{ number: '94', label: '精选案例' },
1010
{ number: '8', label: '场景分类' },
1111
{ number: '3', label: '数据库引擎' },
1212
{ number: '100%', label: '可复现' },
@@ -20,7 +20,7 @@ const categories = [
2020
{ icon: '🏗️', name: '架构级优化', count: '11 个案例', link: withBase('/cases/architecture/52-dynamic-filter') },
2121
{ icon: '🔒', name: '事务与锁', count: '9 个案例', link: withBase('/cases/transaction/63-deadlock-analysis') },
2222
{ icon: '', name: '优化器与 8.0', count: '9 个案例', link: withBase('/cases/optimizer/72-descending-index') },
23-
{ icon: '🔮', name: 'TiDB 分布式优化', count: '6 个案例', link: withBase('/cases/tidb/81-tidb-explain-tree') },
23+
{ icon: '🔮', name: 'TiDB 分布式优化', count: '14 个案例', link: withBase('/cases/tidb/81-tidb-explain-tree') },
2424
{ icon: '🚀', name: '全部案例', count: '查看总览', link: withBase('/cases/') },
2525
]
2626
</script>
@@ -36,7 +36,7 @@ const categories = [
3636

3737
<!-- 分类导航 -->
3838
<div class="home-categories">
39-
<h2 class="home-categories-title">八大场景 · 86 个案例</h2>
39+
<h2 class="home-categories-title">八大场景 · 94 个案例</h2>
4040
<p class="home-categories-subtitle">从索引失效到事务锁、从查询改写到 8.0 新特性,覆盖 MySQL + TiDB 优化全链路</p>
4141
<div class="home-category-grid">
4242
<a

docs/404.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## 快速导航
66

7-
- [🏠 返回首页](/) — 查看 86 个精选案例
7+
- [🏠 返回首页](/) — 查看 94 个精选案例
88
- [📚 案例总览](/cases/) — 按分类浏览所有案例
99
- [📖 快速开始](/guide/quick-start) — Docker 一键跑通第一个案例
1010
- [❓ 如何阅读案例](/guide/how-to-read) — 理解 EXPLAIN 和案例结构

docs/cases/index.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 案例总览
22

3-
**86 个精选案例**,覆盖 MySQL + TiDB 优化的八大核心场景。每个案例都带真实数据,可一键复现。
3+
**94 个精选案例**,覆盖 MySQL + TiDB 优化的八大核心场景。每个案例都带真实数据,可一键复现。
44

55
## 一、索引设计与失效(18 个)
66

@@ -116,7 +116,7 @@
116116
| 78 | [派生条件下推优化](./optimizer/78-derived-condition-pushdown) | ⭐⭐⭐ | 5.7 & 8.0 |
117117
| 79 | [大批量 UPDATE 分批优化](./optimizer/79-batch-update) | ⭐⭐ | 5.7 & 8.0 |
118118
| 80 | [慢查询排查方法论](./optimizer/80-slow-query-diagnosis) | ⭐⭐⭐ | 5.7 & 8.0 |
119-
## 八、TiDB 分布式优化(6 个)
119+
## 八、TiDB 分布式优化(14 个)
120120

121121
| # | 案例 | 难度 | 版本 |
122122
|---|------|:----:|:----:|
@@ -126,6 +126,14 @@
126126
| 84 | [TiDB 统计信息管理](./tidb/84-tidb-statistics) | ⭐⭐⭐ | TiDB |
127127
| 85 | [TiDB 事务模型对比](./tidb/85-tidb-transaction) | ⭐⭐⭐ | TiDB |
128128
| 86 | [IndexLookUp 回表与覆盖索引](./tidb/86-index-lookup) | ⭐⭐ | TiDB |
129+
| 87 | [TiFlash 列存与 MPP 分析加速](./tidb/87-tiflash-mpp) | ⭐⭐⭐ | TiDB |
130+
| 88 | [TiDB GC 机制与长事务影响](./tidb/88-tidb-gc) | ⭐⭐⭐ | TiDB |
131+
| 89 | [Follower Read 读写分离](./tidb/89-follower-read) | ⭐⭐ | TiDB |
132+
| 90 | [TiDB 内存控制与 OOM 防护](./tidb/90-tidb-memory-oom) | ⭐⭐⭐ | TiDB |
133+
| 91 | [TiDB Join 算法选择](./tidb/91-tidb-join-algorithms) | ⭐⭐⭐ | TiDB |
134+
| 92 | [TiDB 在线 DDL 机制](./tidb/92-tidb-online-ddl) | ⭐⭐ | TiDB |
135+
| 93 | [TiDB Plan Cache 执行计划缓存](./tidb/93-tidb-plan-cache) | ⭐⭐ | TiDB |
136+
| 94 | [TiDB Stale Read 历史读优化](./tidb/94-tidb-stale-read) | ⭐⭐ | TiDB |
129137

130138
---
131139

0 commit comments

Comments
 (0)