diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\345\220\221\351\207\217\345\214\226\345\274\225\346\223\216.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\345\220\221\351\207\217\345\214\226\345\274\225\346\223\216.md"
index 35be3c7d1838f7e0274eae47d11c34fe6b72f6ed..dfc87745b21756214279c93782b06e9e9d3db996 100644
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\345\220\221\351\207\217\345\214\226\345\274\225\346\223\216.md"
+++ "b/content/docs-lite/zh/docs/AboutopenGauss/\345\220\221\351\207\217\345\214\226\345\274\225\346\223\216.md"
@@ -33,5 +33,8 @@ openGauss提供向量化引擎,通常用在OLAP数据仓库类系统,因为
## 依赖关系
-依赖于列式存储。
+依赖于[列存储](../BriefTutorial/列存储.md)。
+## 使用指导
+
+详情可参考系统调优指南 [配置向量化执行引擎](../PerformanceTuningGuide/配置向量化执行引擎.md)。
diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md"
index f79c41a6b5a46618551a1d77726942bbf9825df7..d5058c074f6d30e81413b97b87f29edfb26ce4f0 100644
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md"
+++ "b/content/docs-lite/zh/docs/AboutopenGauss/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md"
@@ -97,3 +97,95 @@
开源压缩软件LZ4/ZLIB。
+## 使用说明
+
+自适应压缩是列存表的功能,在创建表时需要指定表数据存储方式为列式存储。
+使用时可设置COMPRESSION参数,它决定了表数据的压缩比以及压缩时间。一般来讲,压缩级别越高,压缩比也越大,压缩时间也越长;反之亦然。实际压缩比取决于加载的表数据的分布特征。有效值为YES/NO/LOW/MIDDLE/HIGH,默认值为LOW。
+
+## 使用指导
+
+测试用例
+
+```
+-- 创建列存表。
+openGauss=# CRETAE TABLE compress_low
+(
+ ID INT PRIMARY KEY NOT NULL,
+ NAME TEXT NOT NULL,
+ AGE INT NOT NULL,
+ ADDRESS CHAR(50) ,
+ SALARY REAL
+) with (orientation=column);
+
+openGauss=# INSERT INTO compress_low
+openGauss-# SELECT select generate_series(1, 10000) as key,repeat( chr(int4(random()*26)+65),4),
+openGauss-# (random()*(6^2))::integer,null,(random()*(10^4))::integer;
+
+-- 创建列存表,并设置COMPRESSION为NO。
+openGauss=# CRETAE TABLE compress_no
+(
+ ID INT PRIMARY KEY NOT NULL,
+ NAME TEXT NOT NULL,
+ AGE INT NOT NULL,
+ ADDRESS CHAR(50) ,
+ SALARY REAL
+) with (orientation=column, compression=no);
+
+openGauss=# INSERT INTO compress_no
+openGauss-# SELECT select generate_series(1, 10000) as key,repeat( chr(int4(random()*26)+65),4),
+openGauss-# (random()*(6^2))::integer,null,(random()*(10^4))::integer;
+
+-- 创建列存表,并设置COMPRESSION为middle。
+openGauss=# CRETAE TABLE compress_mid
+(
+ ID INT PRIMARY KEY NOT NULL,
+ NAME TEXT NOT NULL,
+ AGE INT NOT NULL,
+ ADDRESS CHAR(50) ,
+ SALARY REAL
+) with (orientation=column, compression=middle);
+
+openGauss=# INSERT INTO compress_mid
+openGauss-# SELECT select generate_series(1, 10000) as key,repeat( chr(int4(random()*26)+65),4),
+openGauss-# (random()*(6^2))::integer,null,(random()*(10^4))::integer;
+
+-- 创建列存表,并设置COMPRESSION为high。
+openGauss=# CRETAE TABLE compress_high
+(
+ ID INT PRIMARY KEY NOT NULL,
+ NAME TEXT NOT NULL,
+ AGE INT NOT NULL,
+ ADDRESS CHAR(50) ,
+ SALARY REAL
+) with (orientation=column, compression=high);
+
+openGauss=# INSERT INTO compress_high
+openGauss-# SELECT select generate_series(1, 10000) as key,repeat( chr(int4(random()*26)+65),4),
+openGauss-# (random()*(6^2))::integer,null,(random()*(10^4))::integer;
+
+-- 查询表大小。
+openGauss=# select pg_size_pretty(pg_relation_size('compress_low')) as size;
+ size
+--------
+ 152 kB
+ (1 row)
+
+openGauss=# select pg_size_pretty(pg_relation_size('compress_no')) as size;
+ size
+--------
+ 240 kB
+ (1 row)
+
+openGauss=# select pg_size_pretty(pg_relation_size('compress_mid')) as size;
+ size
+--------
+ 128 kB
+ (1 row)
+
+openGauss=# select pg_size_pretty(pg_relation_size('compress_high')) as size;
+ size
+--------
+ 112 kB
+ (1 row)
+
+```
\ No newline at end of file
diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md"
index 8b1c30ebbb6dbea1489c8ba0630202a4f5091db9..d089c83cb244e74a94cac83d26719aec14344516 100644
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md"
+++ "b/content/docs-lite/zh/docs/AboutopenGauss/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md"
@@ -114,5 +114,8 @@ openGauss支持行存储和列存储两种存储模型,用户可以根据应
## 依赖关系
-无。
+[列存储](../BriefTutorial/列存储.md)
+
+## 使用指导
+使用方法请参考[规划存储模型](../DeveloperGuide/规划存储模型.md)。
\ No newline at end of file
diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\350\241\214\345\255\230\350\275\254\345\220\221\351\207\217\345\214\226.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\350\241\214\345\255\230\350\275\254\345\220\221\351\207\217\345\214\226.md"
index 49dac417bd000f844c552d8b5e0e9e7b2132e7ca..9b393f7f34bf947f8e0586b0f295bd7a385dccbb 100644
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\350\241\214\345\255\230\350\275\254\345\220\221\351\207\217\345\214\226.md"
+++ "b/content/docs-lite/zh/docs/AboutopenGauss/\350\241\214\345\255\230\350\275\254\345\220\221\351\207\217\345\214\226.md"
@@ -31,5 +31,8 @@
## 依赖关系
-向量化引擎。
+[向量化引擎](向量化引擎.md)
+## 使用指导
+
+详情可参考系统调优指南 [配置向量化](../PerformanceTuningGuide/配置向量化.md)。
\ No newline at end of file
diff --git a/content/docs-lite/zh/docs/BriefTutorial/figures/zh-cn_image_0000001189073180.png b/content/docs-lite/zh/docs/BriefTutorial/figures/zh-cn_image_0000001189073180.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d16ba1744284afd306f276d516b89a20e6d7af7
Binary files /dev/null and b/content/docs-lite/zh/docs/BriefTutorial/figures/zh-cn_image_0000001189073180.png differ
diff --git "a/content/docs-lite/zh/docs/BriefTutorial/\345\210\227\345\255\230\345\202\250.md" "b/content/docs-lite/zh/docs/BriefTutorial/\345\210\227\345\255\230\345\202\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2255a76771eee87ccfc82e67ececea236ad5d622
--- /dev/null
+++ "b/content/docs-lite/zh/docs/BriefTutorial/\345\210\227\345\255\230\345\202\250.md"
@@ -0,0 +1,132 @@
+# 列存储
+
+openGauss支持行列混合存储。行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。
+
+行、列存储模型各有优劣,建议根据实际情况选择。通常openGauss用于OLTP(联机事务处理)场景的数据库,默认使用行存储,仅对执行复杂查询且数据量大的OLAP(联机分析处理)场景时,才使用列存储。默认情况下,创建的表为行存储。行存储和列存储的差异请参见[图1](#zh-cn_topic_0283136734_zh-cn_topic_0237120296_fig1417354233018)。
+
+**图 1** 行存储和列存储的差异
+
+
+
+
+上图中,左上为行存表,右上为行存表在硬盘上的存储方式。左下为列存表,右下为列存表在硬盘上的存储方式。
+
+行、列存储有如下优缺点:
+
+
+
存储模型
+ |
+优点
+ |
+缺点
+ |
+
+
+行存
+ |
+数据被保存在一起。INSERT/UPDATE容易。
+ |
+选择(SELECT)时即使只涉及某几列,所有数据也都会被读取。
+ |
+
+列存
+ |
+- 查询时只有涉及到的列会被读取。
- 投影(Projection)很高效。
- 任何列都能作为索引。
+ |
+- 选择完成时,被选择的列要重新组装。
- INSERT/UPDATE比较麻烦。
+ |
+
+
+
+
+一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。
+
+
+存储类型
+ |
+适用场景
+ |
+
+
+行存
+ |
+- 点查询(返回记录少,基于索引的简单查询)。
- 增、删、改操作较多的场景。
- 频繁的更新、少量的插入。
+ |
+
+列存
+ |
+- 统计分析类查询 (关联、分组操作较多的场景)。
- 即席查询(查询条件不确定,行存表扫描难以使用索引)。
- 一次性大批量插入。
- 表列数较多,建议使用列存表。
- 如果每次查询时,只涉及了表的少数(<50%总列数)几个列,建议使用列存表。
+ |
+
+
+
+
+## 语法格式
+
+```
+CREATE TABLE table_name
+ (column_name data_type [, ... ])
+ [ WITH ( ORIENTATION = value) ];
+```
+
+## 参数说明
+
+- **table\_name**
+
+ 要创建的表名。
+
+- **column\_name**
+
+ 新表中要创建的字段名。
+
+- **data\_type**
+
+ 字段的数据类型。
+
+- **ORIENTATION**
+
+ 指定表数据的存储方式,即行存方式、列存方式,该参数设置成功后就不再支持修改。
+
+ 取值范围:
+
+ - ROW,表示表的数据将以行式存储。
+
+ 行存储适合于OLTP业务,适用于点查询或者增删操作较多的场景,目前使用Astore,Ustore作为行存储引擎。
+
+ - COLUMN,表示表的数据将以列式存储。
+
+ 列存储适合于数据仓库业务,此类型的表上会做大量的汇聚计算,且涉及的列操作较少,目前使用Cstore作为列存储引擎。
+
+
+
+## 示例
+
+不指定ORIENTATION参数时,表默认为行存表。例如:
+
+```
+openGauss=# CREATE TABLE customer_test1
+(
+ state_ID CHAR(2),
+ state_NAME VARCHAR2(40),
+ area_ID NUMBER
+);
+
+--删除表
+openGauss=# DROP TABLE customer_test1;
+```
+
+创建列存表时,需要指定ORIENTATION参数。例如:
+
+```
+openGauss=# CREATE TABLE customer_test2
+(
+ state_ID CHAR(2),
+ state_NAME VARCHAR2(40),
+ area_ID NUMBER
+)
+WITH (ORIENTATION = COLUMN);
+
+--删除表
+openGauss=# DROP TABLE customer_test2;
+```
+
diff --git "a/content/docs-lite/zh/docs/BriefTutorial/\351\253\230\347\272\247\347\211\271\346\200\247.md" "b/content/docs-lite/zh/docs/BriefTutorial/\351\253\230\347\272\247\347\211\271\346\200\247.md"
new file mode 100644
index 0000000000000000000000000000000000000000..21b0e06398e02d947ce13cd370e8fb7ea9211575
--- /dev/null
+++ "b/content/docs-lite/zh/docs/BriefTutorial/\351\253\230\347\272\247\347\211\271\346\200\247.md"
@@ -0,0 +1,3 @@
+# 高级特性
+
+- **[列存储](列存储.md)**
diff --git a/content/docs-lite/zh/menu/index.md b/content/docs-lite/zh/menu/index.md
index 43d117a5eb67a6522df68275bdd63041679c5e03..44dbd29a7702f0657b028bb0b4d599d7ece8a261 100644
--- a/content/docs-lite/zh/menu/index.md
+++ b/content/docs-lite/zh/menu/index.md
@@ -216,6 +216,8 @@ headless: true
- [子查询]({{< relref "./docs/BriefTutorial/子查询.md" >}})
- [权限]({{< relref "./docs/BriefTutorial/权限.md" >}})
- [函数]({{< relref "./docs/BriefTutorial/函数.md" >}})
+ - [高级特性]({{< relref "./docs/BriefTutorial/高级特性.md" >}})
+ - [列存储]({{< relref "./docs/BriefTutorial/列存储.md" >}})
- [附录:SQL语法]({{< relref "./docs/BriefTutorial/附录-SQL语法.md" >}})
- [应用开发指南]({{< relref "./docs/DeveloperGuide/应用开发指南.md" >}})
diff --git "a/content/zh/docs/AboutopenGauss/\345\220\221\351\207\217\345\214\226\345\274\225\346\223\216.md" "b/content/zh/docs/AboutopenGauss/\345\220\221\351\207\217\345\214\226\345\274\225\346\223\216.md"
index 27f3ac4b94edce7e246b3d3fca4bd6bff25c212f..31f875dc9547c93f6d586f9eb9979cb2b4fe0119 100644
--- "a/content/zh/docs/AboutopenGauss/\345\220\221\351\207\217\345\214\226\345\274\225\346\223\216.md"
+++ "b/content/zh/docs/AboutopenGauss/\345\220\221\351\207\217\345\214\226\345\274\225\346\223\216.md"
@@ -33,5 +33,8 @@ openGauss提供向量化引擎,通常用在OLAP数据仓库类系统。主要
## 依赖关系
-依赖于列存储。
+依赖于[列存储](../BriefTutorial/列存储.md)。
+## 使用指导
+
+详情可参考系统调优指南 [配置向量化执行引擎](../PerformanceTuningGuide/配置向量化执行引擎.md)。
\ No newline at end of file
diff --git "a/content/zh/docs/AboutopenGauss/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md" "b/content/zh/docs/AboutopenGauss/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md"
index f69bb1e8c87ffd4247d9965a349052876e7a3e40..0f86dabf13577933a5f5a35e1e74ee47a588eea2 100644
--- "a/content/zh/docs/AboutopenGauss/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md"
+++ "b/content/zh/docs/AboutopenGauss/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md"
@@ -102,7 +102,7 @@
自适应压缩是列存表的功能,在创建表时需要指定表数据存储方式为列式存储。
使用时可设置COMPRESSION参数,它决定了表数据的压缩比以及压缩时间。一般来讲,压缩级别越高,压缩比也越大,压缩时间也越长;反之亦然。实际压缩比取决于加载的表数据的分布特征。有效值为YES/NO/LOW/MIDDLE/HIGH,默认值为LOW。
-## 示例
+## 使用指导
测试用例
diff --git "a/content/zh/docs/AboutopenGauss/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md" "b/content/zh/docs/AboutopenGauss/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md"
index 2739027185a1df4302e5be9e49ba225f9e92f815..362b89d829d19d5fa13a3ef3489510e10f176b0c 100644
--- "a/content/zh/docs/AboutopenGauss/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md"
+++ "b/content/zh/docs/AboutopenGauss/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md"
@@ -22,7 +22,7 @@ openGauss支持行存储和列存储两种存储模型,用户可以根据具
## 特性描述
-表有行存表和列存表两种存储模型。两种存储模型各有优劣,建议根据实际情况选择。使用方法请参考[规划存储模型](../DeveloperGuide/规划存储模型.md)。
+表有行存表和列存表两种存储模型。两种存储模型各有优劣,建议根据实际情况选择。
- 行存表
@@ -116,5 +116,8 @@ openGauss支持行存储和列存储两种存储模型,用户可以根据具
## 依赖关系
-无。
+[列存储](../BriefTutorial/列存储.md)
+
+## 使用指导
+使用方法请参考[规划存储模型](../DeveloperGuide/规划存储模型.md)。
\ No newline at end of file
diff --git "a/content/zh/docs/AboutopenGauss/\350\241\214\345\210\227\350\236\215\345\220\210.md" "b/content/zh/docs/AboutopenGauss/\350\241\214\345\210\227\350\236\215\345\220\210.md"
index 4bc1c5a161b1260d28af5236e87ddd1b2057cee9..4c10bea50a01f2378d901710c2061c563451e1a4 100644
--- "a/content/zh/docs/AboutopenGauss/\350\241\214\345\210\227\350\236\215\345\220\210.md"
+++ "b/content/zh/docs/AboutopenGauss/\350\241\214\345\210\227\350\236\215\345\220\210.md"
@@ -32,7 +32,7 @@ openGauss主备集群场景下,支持备节点形成行列双格式内存形
- 支持列缓存的扫描查询:
- 新增In-Memory-CStore-Scan (IMCStore scan)列缓存查询算子,基于openGauss执行优化器及代价估算,生成包含列缓存查询算子的列存执行计划。
+ 新增In-Memory-CStore-Scan (IMCStore scan)列缓存查询算子,基于openGauss执行优化器及代价估算,生成包含列缓存查询算子的向量化执行计划。
## 特性增强
@@ -58,4 +58,8 @@ HTAP 行列融合的规格约束如下:
- 对于间隔分区表,自动新增的分区,当前不会自动行列转换。
## 依赖关系
-无。
+[向量化引擎](向量化引擎.md)
+
+## 使用指导
+
+详情可参考 [HTAP 行列融合使用指导](../BriefTutorial/行列融合.md)。
\ No newline at end of file
diff --git "a/content/zh/docs/AboutopenGauss/\350\241\214\345\255\230\350\275\254\345\220\221\351\207\217\345\214\226.md" "b/content/zh/docs/AboutopenGauss/\350\241\214\345\255\230\350\275\254\345\220\221\351\207\217\345\214\226.md"
index 07a46c22957ff93bfd5fe2c66c30744e49492a09..af3f293ee6d1767b2012ea0652ae334a4743c879 100644
--- "a/content/zh/docs/AboutopenGauss/\350\241\214\345\255\230\350\275\254\345\220\221\351\207\217\345\214\226.md"
+++ "b/content/zh/docs/AboutopenGauss/\350\241\214\345\255\230\350\275\254\345\220\221\351\207\217\345\214\226.md"
@@ -31,5 +31,8 @@
## 依赖关系
-向量化引擎
+[向量化引擎](向量化引擎.md)
+## 使用指导
+
+详情可参考系统调优指南 [配置向量化执行引擎](../PerformanceTuningGuide/配置向量化执行引擎.md)。
\ No newline at end of file
diff --git "a/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\244\232\346\234\272\345\271\266\350\241\214.md" "b/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\244\232\346\234\272\345\271\266\350\241\214.md"
index d6d9f6c4f28df728cdb1ffa016174c9baa825852..5b77fcae68250543d75826daa297d474ecdb4a06 100644
--- "a/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\244\232\346\234\272\345\271\266\350\241\214.md"
+++ "b/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\244\232\346\234\272\345\271\266\350\241\214.md"
@@ -116,3 +116,6 @@ openGauss中DML主要分为两部分:查找数据,写入符合要求的数
## 依赖关系
无。
+
+## 使用指导
+插件安装与使能见:**[spqplugin-Extension](../ExtensionReference/spqplugin-Extension.md)**