未验证 提交 c5be9e3a 编写于 作者: I Ilya Yatsishin 提交者: GitHub

Merge pull request #19686 from benbiti/master

[Docs]Translation: update FINAL with max_final_threads setting to CN
......@@ -1310,3 +1310,14 @@ SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 1;
**另请参阅**
- [IN 运算符中的 NULL 处理](../../sql-reference/operators/in.md#in-null-processing)
## max_final_threads {#max-final-threads}
设置使用[FINAL](../../sql-reference/statements/select/from.md#select-from-final) 限定符的`SELECT`查询, 在数据读取阶段的最大并发线程数。
可能的值:
- 正整数。
- 0 or 1 — 禁用。 此时`SELECT` 查询单线程执行。
默认值: `16`
---
toc_folder_title: 聚合函数
toc_priority: 33
toc_title: 聚合函数
toc_title: 简介
---
# 聚合函数 {#aggregate-functions}
聚合函数[正常](http://www.sql-tutorial.com/sql-aggregate-functions-sql-tutorial) 方式如预期的数据库专家
聚合函数如数据库专家预期的方式 [正常](http://www.sql-tutorial.com/sql-aggregate-functions-sql-tutorial) 工作
ClickHouse还支持:
......@@ -14,7 +15,7 @@ ClickHouse还支持:
## 空处理 {#null-processing}
在聚合过程中,所有 `NULL`s被跳过。
在聚合过程中,所有 `NULL` 被跳过。
**例:**
......@@ -30,7 +31,7 @@ ClickHouse还支持:
└───┴──────┘
```
比方说,你需要在总的值 `y`:
比方说,你需要计算 `y` 列的总数:
``` sql
SELECT sum(y) FROM t_null_big
......@@ -40,9 +41,8 @@ SELECT sum(y) FROM t_null_big
│ 7 │
└────────┘
`sum` 函数解释 `NULL` 作为 `0`. 特别是,这意味着,如果函数接收输入的选择,其中所有的值 `NULL`,那么结果将是 `0`,不 `NULL`.
现在你可以使用 `groupArray` 函数从创建一个数组 `y`:
现在你可以使用 `groupArray` 函数`y` 列创建一个数组:
``` sql
SELECT groupArray(y) FROM t_null_big
......@@ -54,6 +54,6 @@ SELECT groupArray(y) FROM t_null_big
└───────────────┘
```
`groupArray` 不包括 `NULL` 在生成的数组中
`groupArray` 生成的数组中不包括 `NULL`
[原始文章](https://clickhouse.tech/docs/en/query_language/agg_functions/) <!--hide-->
---
toc_priority: 36
toc_title: 聚合函数
toc_title: 参考手册
---
# 聚合函数引用 {#aggregate-functions-reference}
# 参考手册 {#aggregate-functions-reference}
## count {#agg_function-count}
......
......@@ -25,11 +25,13 @@ toc_title: FROM
- [Replicated](../../../engines/table-engines/mergetree-family/replication.md) 版本 `MergeTree` 引擎
- [View](../../../engines/table-engines/special/view.md), [Buffer](../../../engines/table-engines/special/buffer.md), [Distributed](../../../engines/table-engines/special/distributed.md),和 [MaterializedView](../../../engines/table-engines/special/materializedview.md) 在其他引擎上运行的引擎,只要是它们底层是 `MergeTree`-引擎表即可。
现在使用 `FINAL` 修饰符 的 `SELECT` 查询启用了并发执行, 这会快一点。但是仍然存在缺陷 (见下)。 [max_final_threads](../../../operations/settings/settings.md#max-final-threads) 设置使用的最大线程数限制。
### 缺点 {#drawbacks}
使用的查询 `FINAL` 执行速度不如类似的查询那么快,因为:
使用的查询 `FINAL` 执行速度比类似的查询慢一点,因为:
- 查询在单个线程中执行,并在查询执行期间合并数据。
- 在查询执行期间合并数据。
- 查询与 `FINAL` 除了读取查询中指定的列之外,还读取主键列。
**在大多数情况下,避免使用 `FINAL`.** 常见的方法是使用假设后台进程的不同查询 `MergeTree` 引擎还没有发生,并通过应用聚合(例如,丢弃重复项)来处理它。 {## TODO: examples ##}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册