diff --git a/.translation-init b/.translation-init index 30ba10e4cb..facc166f53 100644 --- a/.translation-init +++ b/.translation-init @@ -1 +1 @@ -Translation initialization: 2025-10-13T04:21:09.341216 +Translation initialization: 2025-10-15T10:09:57.778195 diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/index.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/index.md index 6aed3a0397..70a7712a88 100644 --- a/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/index.md +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/index.md @@ -1,58 +1,57 @@ --- -title: 表(Table) +title: 表 --- -本页面提供 Databend 中表操作的全面概述,按功能分类便于查阅。 +本页面按功能组织,全面概述了 Databend 中的表操作,方便查阅。 -## 表创建 +## 创建表 | 命令 | 描述 | |---------|-------------| -| [CREATE TABLE](10-ddl-create-table.md) | 创建具有指定列和选项的新表 | -| [CREATE TABLE ... LIKE](10-ddl-create-table.md#create-table--like) | 创建与现有表列定义相同的新表 | -| [CREATE TABLE ... AS](10-ddl-create-table.md#create-table--as) | 基于 SELECT 查询结果创建表并插入数据 | -| [CREATE TRANSIENT TABLE](10-ddl-create-transient-table.md) | 创建不支持时间回溯(Time Travel)的表 | +| [CREATE TABLE](10-ddl-create-table.md) | 使用指定的列和选项创建新表 | +| [CREATE TABLE ... LIKE](10-ddl-create-table.md#create-table--like) | 创建与现有表具有相同列定义的表 | +| [CREATE TABLE ... AS](10-ddl-create-table.md#create-table--as) | 根据 SELECT 查询结果创建表并插入数据 | +| [CREATE TRANSIENT TABLE](10-ddl-create-transient-table.md) | 创建不支持 Time Travel 的表 | | [CREATE EXTERNAL TABLE](10-ddl-create-table-external-location.md) | 创建数据存储在指定外部位置的表 | -| [ATTACH TABLE](92-attach-table.md) | 通过关联现有表创建新表 | +| [ATTACH TABLE](92-attach-table.md) | 通过与现有表关联创建表 | -## 表修改 +## 修改表 | 命令 | 描述 | |---------|-------------| -| [ALTER TABLE COLUMN](90-alter-table-column.md) | 修改表的列结构 | +| [ALTER TABLE COLUMN](90-alter-table-column.md) | 通过更改列来修改表结构 | | [ALTER TABLE CONNECTION](91-alter-table-connection.md) | 更新外部表的连接设置 | | [ALTER TABLE OPTION](90-alter-table-option.md) | 修改表的 Fuse 引擎选项 | | [ALTER TABLE COMMENT](90-alter-table-comment.md) | 更新表的注释 | -| [RENAME TABLE](30-ddl-rename-table.md) | 更改表名称 | +| [RENAME TABLE](30-ddl-rename-table.md) | 更改表名 | -## 表信息 +## 查看表信息 | 命令 | 描述 | |---------|-------------| | [DESCRIBE TABLE](50-describe-table.md) / [SHOW FIELDS](show-fields.md) | 显示指定表的列信息 | -| [SHOW FULL COLUMNS](show-full-columns.md) | 获取指定表的列详细信息 | +| [SHOW FULL COLUMNS](show-full-columns.md) | 检索指定表的列详细信息 | | [SHOW CREATE TABLE](show-create-table.md) | 显示创建指定表的 CREATE TABLE 语句 | | [SHOW TABLES](show-tables.md) | 列出当前或指定数据库中的表 | -| [SHOW TABLE STATUS](show-table-status.md) | 显示数据库中的表状态 | +| [SHOW TABLE STATUS](show-table-status.md) | 显示数据库中表的状态 | | [SHOW DROP TABLES](show-drop-tables.md) | 列出当前或指定数据库中已删除的表 | -## 表删除与恢复 +## 删除与恢复表 | 命令 | 描述 | 恢复选项 | |---------|-------------|----------------| -| [TRUNCATE TABLE](40-ddl-truncate-table.md) | 清空表数据但保留表结构 | [FLASHBACK TABLE](70-flashback-table.md) | +| [TRUNCATE TABLE](40-ddl-truncate-table.md) | 清空表数据,保留表结构 | [FLASHBACK TABLE](70-flashback-table.md) | | [DROP TABLE](20-ddl-drop-table.md) | 删除表 | [UNDROP TABLE](21-ddl-undrop-table.md) | -| [VACUUM TABLE](91-vacuum-table.md) | 永久删除表的历史数据文件(企业版 (Enterprise Edition)) | 不可恢复 | -| [VACUUM DROP TABLE](91-vacuum-drop-table.md) | 永久删除已删除表的数据文件(企业版 (Enterprise Edition)) | 不可恢复 | +| [VACUUM TABLE](91-vacuum-table.md) | 永久删除表的历史数据文件(企业版) | 不可恢复 | +| [VACUUM DROP TABLE](91-vacuum-drop-table.md) | 永久删除已删除表的数据文件(企业版) | 不可恢复 | -## 表优化 +## 优化表 | 命令 | 描述 | |---------|-------------| -| [ANALYZE TABLE](80-analyze-table.md) | 计算表统计信息以提升查询性能 | | [OPTIMIZE TABLE](60-optimize-table.md) | 压缩或清理历史数据以节省存储空间并提升查询性能 | -| [SET CLUSTER KEY](../06-clusterkey/dml-set-cluster-key.md) | 配置聚簇键以提升大表查询性能 | +| [SET CLUSTER KEY](../06-clusterkey/dml-set-cluster-key.md) | 配置 Cluster Key 以提升大表查询性能 | :::note -表优化属于高级操作,执行前请仔细阅读文档以避免数据丢失风险。 +表优化属于高级操作,执行前请务必仔细阅读文档,避免潜在数据丢失。 ::: \ No newline at end of file diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/show-statistics.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/show-statistics.md new file mode 100644 index 0000000000..7e9e7cf597 --- /dev/null +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/show-statistics.md @@ -0,0 +1,88 @@ +--- +title: SHOW STATISTICS +sidebar_position: 15 +--- +import FunctionDescription from '@site/src/components/FunctionDescription'; + + + +显示表及其列的统计信息。统计信息通过提供数据分布、行数和唯一值等信息,帮助查询优化器(Query Optimizer)制定更优的查询执行计划。 + +Databend 在数据插入期间自动生成统计信息。你可以使用此命令查看统计信息,并将其与实际数据进行比对,以发现可能影响查询性能的差异。 + +## 语法 + +```sql +SHOW STATISTICS [ FROM DATABASE | FROM TABLE . ] +``` + +| 参数 | 说明 | +|-----------|-----------------------------------------------------------------------------------------------------------------------------| +| FROM DATABASE | 显示指定数据库中所有表的统计信息。 | +| FROM TABLE | 仅显示指定表的统计信息。 | + +如果未指定参数,该命令将返回当前数据库中所有表的统计信息。 + +## 输出列 + +该命令为每个表中的每一列返回以下列: + +| 列 | 说明 | +|--------|-----------------------------------------------------------------------------------------------------------------------------| +| database | 数据库名称。 | +| table | 表名称。 | +| column_name | 列名称。 | +| stats_row_count | 统计信息中累计的行数。由于统计信息在插入时更新,但在删除时不减少,因此该数值可能 **大于** actual_row_count。 | +| actual_row_count | 当前快照下表中的实际行数。 | +| distinct_count | 唯一值(NDV)的估计数量,通过 HyperLogLog 计算得出。 | +| null_count | 列中 NULL 值的数量。 | +| avg_size | 列中每个值的平均大小(以字节为单位)。 | + +## 示例 + +### 显示当前数据库的统计信息 + +```sql +CREATE DATABASE test_db; +USE test_db; + +CREATE TABLE t1 (id INT, name VARCHAR(50)); +INSERT INTO t1 VALUES (1, 'Alice'), (2, 'Bob'); + +SHOW STATISTICS; +``` + +输出: +``` +database table column_name stats_row_count actual_row_count distinct_count null_count avg_size +test_db t1 id 2 2 2 0 4 +test_db t1 name 2 2 2 0 16 +``` + +### 显示指定表的统计信息 + +```sql +CREATE TABLE t2 (age INT, city VARCHAR(50)); +INSERT INTO t2 VALUES (25, 'New York'), (30, 'London'); + +SHOW STATISTICS FROM TABLE test_db.t2; +``` + +输出: +``` +database table column_name stats_row_count actual_row_count distinct_count null_count avg_size +test_db t2 age 2 2 2 0 4 +test_db t2 city 2 2 2 0 19 +``` + +### 显示数据库中所有表的统计信息 + +```sql +SHOW STATISTICS FROM DATABASE test_db; +``` + +这将显示 `test_db` 数据库中所有表(`t1` 和 `t2`)的统计信息。 + +## 相关命令 + +- [SHOW TABLE STATUS](show-table-status.md): 显示表的状态信息 \ No newline at end of file diff --git a/docs/cn/sql-reference/20-sql-functions/16-system-functions/fuse_statistic.md b/docs/cn/sql-reference/20-sql-functions/16-system-functions/fuse_statistic.md index e41118c0a0..d3a4863868 100644 --- a/docs/cn/sql-reference/20-sql-functions/16-system-functions/fuse_statistic.md +++ b/docs/cn/sql-reference/20-sql-functions/16-system-functions/fuse_statistic.md @@ -3,30 +3,8 @@ title: FUSE_STATISTIC --- import FunctionDescription from '@site/src/components/FunctionDescription'; - + -返回指定表中每一列的统计信息: - -- `distinct_count`: 返回估计的不同值数量。 -- `histogram`: 为列生成直方图,将数据分布分解为多个桶。每个桶包含以下信息: - - `bucket id`: 桶的标识符。 - - `min`: 桶内的最小值。 - - `max`: 桶内的最大值。 - - `ndv` (number of distinct values): 桶内唯一值的计数。 - - `count`: 桶内值的总数。 - -## 语法 - -```sql -FUSE_STATISTIC('', '') -``` - -必须将 `enable_analyze_histogram` 设置为 `1`,该函数才会生成直方图。默认情况下,此设置为 `0`,即除非明确启用,否则不会生成直方图。 - -```sql -SET enable_analyze_histogram = 1; -``` - -## 示例 - -您最有可能与 [ANALYZE TABLE](/sql/sql-commands/ddl/table/analyze-table) 一起使用此函数来检查表的统计信息。请参阅 [ANALYZE TABLE](/sql/sql-commands/ddl/table/analyze-table) 页面上的 [示例](/sql/sql-commands/ddl/table/analyze-table#examples) 部分。 \ No newline at end of file +:::note +此函数已弃用。请改用 [SHOW STATISTICS](/sql/sql-commands/ddl/table/show-statistics) 查看表统计信息。 +::: \ No newline at end of file