From 4f3b65d8065b725e2f2865ea14a6c5b0dfb61e6f Mon Sep 17 00:00:00 2001 From: Bengbengbalabalabeng Date: Fri, 29 May 2026 16:00:26 +0800 Subject: [PATCH] docs(mysql): add the order by condition to the pagination statement. --- docs/high-performance/deep-pagination-optimization.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/high-performance/deep-pagination-optimization.md b/docs/high-performance/deep-pagination-optimization.md index 460cc7f4f96..57d238095f2 100644 --- a/docs/high-performance/deep-pagination-optimization.md +++ b/docs/high-performance/deep-pagination-optimization.md @@ -91,13 +91,13 @@ SELECT t1.* FROM t_order t1 INNER JOIN ( -- 这里的子查询可以利用覆盖索引,性能极高 - SELECT id FROM t_order LIMIT 1000000, 10 + SELECT id FROM t_order ORDER BY id LIMIT 1000000, 10 ) t2 ON t1.id = t2.id; ``` **工作原理**: -1. 子查询 `(SELECT id FROM t_order LIMIT 1000000, 10)` 利用主键索引扫描并跳过前 1000000 条记录,返回目标分页的 10 条记录的 ID。 +1. 子查询 `(SELECT id FROM t_order ORDER BY id LIMIT 1000000, 10)` 利用主键索引扫描并跳过前 1000000 条记录,返回目标分页的 10 条记录的 ID。 2. 通过 `INNER JOIN` 将子查询结果与主表 `t_order` 关联,获取完整的记录数据。 除了使用 INNER JOIN 之外,还可以使用逗号连接子查询。 @@ -105,7 +105,7 @@ INNER JOIN ( ```sql -- 使用逗号进行延迟关联 SELECT t1.* FROM t_order t1, -(SELECT id FROM t_order LIMIT 1000000, 10) t2 +(SELECT id FROM t_order ORDER BY id LIMIT 1000000, 10) t2 WHERE t1.id = t2.id; ```