This is an automated email from the ASF dual-hosted git repository.

kassiez pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 8591743ea9c [Improvement](docs) refine query acceleration doc (#1584)
8591743ea9c is described below

commit 8591743ea9ca021aa86dfe3a5d99bab0a1a7f52f
Author: xzj7019 <xiongzhongj...@selectdb.com>
AuthorDate: Tue Dec 24 20:52:33 2024 +0800

    [Improvement](docs) refine query acceleration doc (#1584)
    
    ## Versions
    
    - [x] dev
    - [ ] 3.0
    - [ ] 2.1
    - [ ] 2.0
    
    ## Languages
    
    - [x] Chinese
    - [x] English
    
    ## Docs Checklist
    
    - [ ] Checked by AI
    - [ ] Test Cases Built
---
 .../current/query-acceleration/hints/distribute-hint.md        |  4 ++--
 .../current/query-acceleration/hints/leading-hint.md           | 10 +++++-----
 .../tuning/tuning-plan/accelerating-queries-with-sql-cache.md  |  7 ++++++-
 .../tuning/tuning-plan/adjusting-join-shuffle.md               | 10 +++++-----
 .../tuning/tuning-plan/controlling-hints-with-cbo-rule.md      |  4 ++--
 .../query-acceleration/tuning/tuning-plan/dml-tuning-plan.md   |  2 +-
 .../tuning/tuning-plan/optimizing-join-with-colocate-group.md  |  4 ++--
 .../tuning/tuning-plan/optimizing-table-index.md               |  2 +-
 .../tuning/tuning-plan/transparent-rewriting-with-async-mv.md  |  4 ++--
 .../tuning/tuning-plan/transparent-rewriting-with-sync-mv.md   |  6 +++---
 10 files changed, 29 insertions(+), 24 deletions(-)

diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/distribute-hint.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/distribute-hint.md
index 3964fa18b17..4b8d5ae99f4 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/distribute-hint.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/distribute-hint.md
@@ -36,7 +36,7 @@ Distribute hint 用来控制 join 的 shuffle 方式。
 
 ## 案例
 
-1. **与 Ordered Hint 混用**
+**与 Ordered Hint 混用**
 
 把 Join 顺序固定为文本序,然后再指定相应的 Join 预期使用的 Distribute 方式。例如:
 
@@ -93,7 +93,7 @@ Explain Shape Plan 里面会显示 Distribute 算子相关的信息。其中:
 - `DistributionSpecGather` 表示将数据 Gather 到 FE 节点;
 - `DistributionSpecHash` 表示将数据按照特定的 hashKey 以及算法打散到不同的 BE 节点。
 
-1. **与 Leading Hint 混用**
+**与 Leading Hint 混用**
 
 在编写 SQL 查询时,可以在使用 `LEADING` 提示的同时,为每个 `JOIN` 操作指定相应的 `DISTRIBUTE` 
方式。以下是一个具体的例子,展示了如何在 SQL 查询中混合使用 `Distribute Hint` 和 `Leading Hint`。
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/leading-hint.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/leading-hint.md
index be1f217d284..a83a1569626 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/leading-hint.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/hints/leading-hint.md
@@ -437,11 +437,11 @@ Ordered hint 可以看做 leading hint 的一种特例,用于控制 join order
 
 ### 语法
 
-OrderedHint 的语法为 `/*+ ORDERED */`,放置在 `SELECT` 语句中的 `SELECT` 关键字之后,紧接着查询的其余部分。
+Ordered Hint 的语法为 `/*+ ORDERED */`,放置在 `SELECT` 语句中的 `SELECT` 关键字之后,紧接着查询的其余部分。
 
 ### 案例
 
-以下是一个使用 OrderedHint 的示例:
+以下是一个使用 Ordered Hint 的示例:
 
 ```sql
 mysql> explain shape plan select /*+ ORDERED */ t1.c1 from t2 join t1 on t1.c1 
= t2.c2 join t3 on c2 = c3;
@@ -469,9 +469,9 @@ mysql> explain shape plan select /*+ ORDERED */ t1.c1 from 
t2 join t1 on t1.c1 =
 
+--------------------------------------------------------------------------------+
 ```
 
-与 LeadingHint 的关系:
+与 Leading Hint 的关系:
 
-当 OrderedHint 和 LeadingHint 同时使用时,OrderedHint 将优先于 LeadingHint。这意味着,即使指定了 
LeadingHint,如果同时存在 OrderedHint,查询计划将按照 OrderedHint 的规则来执行,而 LeadingHint 
将被忽略。以下是一个示例,展示了当两者同时使用时的情况:
+当 Ordered Hint 和 Leading Hint 同时使用时,Ordered Hint 将优先于 Leading Hint。这意味着,即使指定了 
Leading Hint,如果同时存在 Ordered Hint,查询计划将按照 Ordered Hint 的规则来执行,而 Leading Hint 
将被忽略。以下是一个示例,展示了当两者同时使用时的情况:
 
 ```sql
 mysql> explain shape plan select /*+ ORDERED LEADING(t1 t2 t3) */ t1.c1 from 
t2 join t1 on t1.c1 = t2.c2 join t3 on c2 = c3;
@@ -501,4 +501,4 @@ mysql> explain shape plan select /*+ ORDERED LEADING(t1 t2 
t3) */ t1.c1 from t2
 
 ## 总结
 
-Leading hint 是一个强大的手工控制 join order 的特性,在生产业务调优中应用广泛。使用好 leading hint 能够满足现场针对 
join order 的调优需求,增加系统控制的灵活性。Ordered hint 是一种特殊的 leading hint,用于固定当前业务的 join 
order 为文本序,使用时需要注意和其他 Hint 之间的优先级关系。
+Leading Hint 是一个强大的手工控制 join order 的特性,在生产业务调优中应用广泛。使用好 leading hint 能够满足现场针对 
join order 的调优需求,增加系统控制的灵活性。Ordered hint 是一种特殊的 leading hint,用于固定当前业务的 join 
order 为文本序,使用时需要注意和其他 Hint 之间的优先级关系。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/accelerating-queries-with-sql-cache.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/accelerating-queries-with-sql-cache.md
index 1ff103a109a..0cdbb3676a4 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/accelerating-queries-with-sql-cache.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/accelerating-queries-with-sql-cache.md
@@ -26,7 +26,7 @@ under the License.
 
 ## 概述
 
-关于 SQL Cache 详细实现原理,请参考 [查询缓存(SQL 
Cache)](../../../query-acceleration/sql-cache-manual)
+关于 SQL Cache 详细实现原理,请参考 [查询缓存(SQL 
Cache)](../../../query-acceleration/sql-cache-manual)章节
 
 ## 案例
 
@@ -35,3 +35,8 @@ under the License.
 ## 总结
 
 SQL Cache 是 Doris 提供的一种查询优化机制,可以显著提升查询性能。在使用的时候需要注意:
+:::tips 提示
+- SQL Cache 不适用于包含生成随机值的函数 (如 `random()`) 的查询,因为这会导致查询结果失去随机性。
+- 目前不支持使用部分指标的缓存结果来满足查询更多指标的需求。例如,之前查询了 2 个指标的缓存不能用于查询 3 个指标的情况。
+- 通过合理使用 SQL Cache,可以显著提升 Doris 
的查询性能,特别是在数据更新频率较低的场景中。在实际应用中,需要根据具体的数据特征和查询模式来调整缓存参数,以获得最佳的性能提升。
+:::
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/adjusting-join-shuffle.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/adjusting-join-shuffle.md
index d664304b6fb..32a653b03e4 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/adjusting-join-shuffle.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/adjusting-join-shuffle.md
@@ -28,7 +28,7 @@ under the License.
 
 Doris 支持使用 Hint 来调整 Join 操作中数据 Shuffle 的类型,从而优化查询性能。本节将详细介绍如何在 Doris 中利用 Hint 
来指定 Join Shuffle 的类型。
 
-目前,Doris 支持两种独立的 
[DistributeHint](../../../query-acceleration/hints/distribute-hint.md),`[shuffle]
 ` 和 `[broadcast]`,用来指定 Join 右表的 Distribute Type。Distribute Type 需置于 Join 
右表之前,采用中括号 `[]` 的方式。同时,Doris 也可以通过 LeadingHint 配合 DistributeHint 的方式,指定 shuffle 
方式(详见[使用 Leading Hint 控制 Join 顺序](reordering-join-with-leading-hint.md)章节相关介绍)。
+目前,Doris 支持两种独立的 [Distribute 
Hint](../../../query-acceleration/hints/distribute-hint.md),`[shuffle] ` 和 
`[broadcast]`,用来指定 Join 右表的 Distribute Type。Distribute Type 需置于 Join 右表之前,采用中括号 
`[]` 的方式。同时,Doris 也可以通过 Leading Hint 配合 Distribute Hint 的方式,指定 shuffle 方式(详见[使用 
Leading Hint 控制 Join 顺序](reordering-join-with-leading-hint.md)章节相关介绍)。
 
 示例如下:
 
@@ -39,13 +39,13 @@ SELECT COUNT(*) FROM t2 JOIN [shuffle] t1 ON t1.c1 = t2.c2;
 
 ## 案例
 
-接下来将通过同一个例子来展示 DistributeHint 的使用方法:
+接下来将通过同一个例子来展示 Distribute Hint 的使用方法:
 
 ```sql
 EXPLAIN SHAPE PLAN SELECT COUNT(*) FROM t1 JOIN t2 ON t1.c1 = t2.c2;
 ```
 
-原始 SQL 的计划如下,可见 t1 连接 t2 使用了 hash distribute("DistributionSpecHash")的方式。
+原始 SQL 的计划如下,可见 t1 连接 t2 使用了 hash distribute即`DistributionSpecHash`的方式。
 
 ```sql
 
+----------------------------------------------------------------------------------+
  
@@ -71,7 +71,7 @@ EXPLAIN SHAPE PLAN SELECT COUNT(*) FROM t1 JOIN t2 ON t1.c1 = 
t2.c2;
 EXPLAIN SHAPE PLAN SELECT COUNT(*) FROM t1 JOIN [broadcast] t2 ON t1.c1 = 
t2.c2;
 ```
 
-可见 t1 连接 t2 的分发方式改为了 broadcast("DistributionSpecReplicated")的方式。
+可见 t1 连接 t2 的分发方式改为了 broadcast即`DistributionSpecReplicated`的方式。
 
 ```sql
 
+----------------------------------------------------------------------------------+
  
@@ -93,4 +93,4 @@ EXPLAIN SHAPE PLAN SELECT COUNT(*) FROM t1 JOIN [broadcast] 
t2 ON t1.c1 = t2.c2;
 
 ## 总结
 
-通过合理使用 DistributeHint,可以优化 Join 操作的 Shuffle 方式,提升查询性能。在实践中,建议先通过 EXPLAIN 
分析查询执行计划,再根据实际情况指定合适的 Shuffle 类型。
+通过合理使用 Distribute Hint,可以优化 Join 操作的 Shuffle 方式,提升查询性能。在实践中,建议先通过 EXPLAIN 
分析查询执行计划,再根据实际情况指定合适的 Shuffle 类型。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/controlling-hints-with-cbo-rule.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/controlling-hints-with-cbo-rule.md
index 3d8b364dc67..d3be60d2c70 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/controlling-hints-with-cbo-rule.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/controlling-hints-with-cbo-rule.md
@@ -39,7 +39,7 @@ CBO 规则控制 Hint 的基本语法如下所示:
 SELECT /*+ USE_CBO_RULE(rule1, rule2, ...) */ ...
 ```
 
-此 Hint 紧跟在 SELECT 关键字之后,并在括号内指定要启用的规则名称(规则名称不区分大小写)。
+此 Hint 紧跟在 `SELECT` 关键字之后,并在括号内指定要启用的规则名称(规则名称不区分大小写)。
 
 当前 Doris 优化器支持若干中代价改写,可以通过 `USE_CBO_RULE` hint 来显式启用,例如:
 
@@ -81,4 +81,4 @@ PhysicalResultSink
 
 ## 总结
 
-合理使用 `USE_CBO_RULE hint`,可以帮助手动启用部分高级 CBO 优化规则,在特定场景下优化性能。但是使用 CBO 
优化规则需要对查询优化过程和数据特性有深入的理解,在大多数情况下,依赖 Doris 优化器的自动决策仍然是最佳的选择。
+合理使用 `USE_CBO_RULE` hint,可以帮助手动启用部分高级 CBO 优化规则,在特定场景下优化性能。但是使用 CBO 
优化规则需要对查询优化过程和数据特性有深入的理解,在大多数情况下,依赖 Doris 优化器的自动决策仍然是最佳的选择。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/dml-tuning-plan.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/dml-tuning-plan.md
index c5b6307ac94..be482e98eaf 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/dml-tuning-plan.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/dml-tuning-plan.md
@@ -24,6 +24,6 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-DML 计划调优首先需要定位是导入引起的性能瓶颈,还是查询部分引起的性能瓶颈 。查询部分的性能瓶颈的排查和调优详见计划调优章节其他小节。
+DML 计划调优首先需要定位是导入引起的性能瓶颈,还是查询部分引起的性能瓶颈 
。查询部分的性能瓶颈的排查和调优详见[计划调优](optimizing-table-schema.md)其他小节。
 
 Doris 支持从多种数据源导入数据,灵活运用 Doris 提供的多种导入功能,可以高效地将各种来源的数据导入到 Doris 
中进行分析。最佳实践详情请参考[导入概览](../../../data-operate/import/load-manual.md)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-join-with-colocate-group.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-join-with-colocate-group.md
index e58b49e0787..596098063e9 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-join-with-colocate-group.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-join-with-colocate-group.md
@@ -24,11 +24,11 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-Colocate Group 是一种高效的 Join 方式,使得执行引擎能有效地规避 Join 操作中数据的shuffle开销。相关原理介绍和案例参考详见 
[Colocate-join](../../colocation-join.md))
+Colocate Group 是一种高效的 Join 方式,使得执行引擎能有效地规避 Join 操作中数据的shuffle开销。相关原理介绍和案例参考详见 
[Colocate-join](../../colocation-join.md)
 
 :::tip 注意
 - 在某些场景下,即使已经成功建立了 Colocate Group,执行计划(plan)仍然可能会显示为 `Shuffle Join` 或 `Bucket 
Shuffle Join`。这种情况通常发生在 Doris 正在进行数据整理的过程中,比如,它可能在 BE 间迁移 tablet,以确保数据在多个 BE 
之间的分布达到更加均衡的状态。
-- 通过命令`show proc "/colocation_group"`;可以查看 Colocate Group 状态,如下图所示:`IsStable` 
出现false,表示有 colocation_group 不可用的情况。
+- 通过命令`show proc "/colocation_group"`;可以查看 Colocate Group 状态,如下图所示:`IsStable` 
出现false,表示有 Colocate Group 不可用的情况。
 :::
 
 ![使用 Colocate Group 优化 Join](/images/use-colocate-group.jpg)
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-table-index.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-table-index.md
index 1037ef95341..98cb1a8d60c 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-table-index.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/optimizing-table-index.md
@@ -84,7 +84,7 @@ PROPERTIES (
 
 Doris 支持倒排索引作为二级索引,以加速等值、范围及文本类型的全文检索等业务场景。倒排索引的创建和管理是独立的,它能够在不影响原始表 Schema 
和无需重新导入表数据的情况下,便捷地进行业务性能优化。
 
-关于典型的使用场景、语法及案例,可参考[表索引 - 
倒排索引](../../../table-design/index/inverted-index.md),查看详细介绍,本章节不再重复阐述。
+关于典型的使用场景、语法及案例,可参考[倒排索引](../../../table-design/index/inverted-index.md),查看详细介绍,本章节不再重复阐述。
 
 :::tip 优化建议
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-async-mv.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-async-mv.md
index 4fee2a3262f..343beb8f428 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-async-mv.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-async-mv.md
@@ -154,7 +154,7 @@ mysql> explain shape plan SELECT l_shipdate, 
SUM(o_totalprice) AS total_price
 
 ## 总结
 
-通过使用物化视图, 可以显著提高查询性能, 特别是对于复杂的聚合查询。在使用的时候需要注意:
+通过使用多表物化视图, 可以显著提高查询性能, 特别是对于复杂的连接和聚合查询。在使用的时候需要注意:
 
 :::tip 使用建议
 - 预计算结果: 物化视图将查询结果预先计算并存储,避免了每次查询时重复计算的开销。这对于需要频繁执行的复杂查询尤其有效。
@@ -165,4 +165,4 @@ mysql> explain shape plan SELECT l_shipdate, 
SUM(o_totalprice) AS total_price
 - 适用场景: 物化视图适用于数据变化频率较低、查询频率较高的场景。对于经常变化的数据,实时计算可能更为合适。
 :::
 
-合理利用物化视图,可以显著改善数据库的查询性能,特别是在复杂查询和大数据量的情况下。同时,也需要综合考虑存储、维护等因素,以实现性能和成本的平衡。
+合理利用多表物化视图,可以显著改善数据库的查询性能,特别是在复杂查询和大数据量的情况下。同时,也需要综合考虑存储、维护等因素,以实现性能和成本的平衡。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-sync-mv.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-sync-mv.md
index 4d1f7246bf3..bb771b1955d 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-sync-mv.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-acceleration/tuning/tuning-plan/transparent-rewriting-with-sync-mv.md
@@ -26,7 +26,7 @@ under the License.
 
 ## 概述
 
-[单表物化视图](../../materialized-view/sync-materialized-view.md) (Materialized 
View) 是一种特殊的表,它预先根据定义好的 SELECT 
语句计算并存储数据。其主要目的是满足用户对原始明细数据的任意维度分析需求,同时也能快速地进行固定维度的分析查询。
+[物化视图](../../materialized-view/sync-materialized-view.md) (Materialized View) 
是一种特殊的表,它预先根据定义好的 SELECT 
语句计算并存储数据。其主要目的是满足用户对原始明细数据的任意维度分析需求,同时也能快速地进行固定维度的分析查询。
 
 物化视图的适用场景为:
 
@@ -37,8 +37,8 @@ under the License.
 
 对于频繁重复使用相同子查询结果的查询,单表同步物化视图能显著提升性能。Doris 会自动维护物化视图的数据,确保基础表 (Base Table) 
和物化视图表的数据一致性,无需额外的人工维护成本。在查询时,系统会自动匹配到最优的物化视图,并直接从物化视图中读取数据。
 
-:::tip 注意事项 
-- 在 Doris 2.0 
版本中,物化视图具备了一些增强功能。建议用户在正式的生产环境中使用物化视图之前,先在测试环境中确认预期中的查询能否命中想要创建的物化视图。 
+:::tip 注意事项 
+- 在 Doris 2.0 
及后续版本中,物化视图具备了一些增强功能。建议用户在正式的生产环境中使用物化视图之前,先在测试环境中确认预期中的查询能否命中想要创建的物化视图。 
 - 不建议在同一张表上创建多个形态类似的物化视图,因为这可能会导致多个物化视图之间的冲突,从而使查询命中失败。
 :::
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to