GBase 8c
其他
文章
GBase 8c中行存表和列存表的选择
GBase社区管理员发表于2024-02-04 17:14:1053次浏览0个评论
- 行存表
默认创建表的类型。数据按行进行存储,即一行数据是连续存储。适用于对数据需要经常更新的场景。
postgres=# CREATE TABLE customer_t1
(
state_ID CHAR(2), state_NAME VARCHAR2(40),
area_ID NUMBER
);--删除表postgres=# DROP TABLE customer_t1;- 列存表
数据按列进行存储,即一列所有数据是连续存储的。单列查询IO小,比行存表占用更少的存储空间。适合数据批量插入、更新较少和以查询为主统计分析类的场景。列存表不适合点查询。
postgres=# CREATE TABLE customer_t2
(
state_ID CHAR(2), state_NAME VARCHAR2(40),
area_ID NUMBER
)
WITH (ORIENTATION = COLUMN);
--删除表
postgres=# DROP TABLE customer_t2;- 行存表和列存表的选择
更新频繁程度。数据如果频繁更新,选择行存表。
插入频繁程度。频繁的少量插入,选择行存表。一次插入大批量数据,选择列存表。
表的列数。表的列数很多,选择列存表。
查询的列数。如果每次查询时,只涉及了表的少数(<50%总列数)几个列,选择列存表。
压缩率。列存表比行存表压缩率高。但高压缩率会消耗更多的CPU资源。
评论已关闭
热门帖子
- 12025-12-01浏览数:182762
- 22023-05-09浏览数:25056
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528