openGauss 数据库内容推荐(9)

85 阅读1分钟

列存表

数据按列进行存储,即一列所有数据是连续存储的。单列查询IO小,比行存表占用更少的存储空间。适合数据批量插入、更新较少和以查询为主统计分析类的场景。列存表不适合点查询。

openGauss=# CREATE TABLE customer_t2
(
  state_ID   CHAR(2),
  state_NAME VARCHAR2(40),
  area_ID    NUMBER
)
WITH (ORIENTATION = COLUMN);

--删除表
openGauss=# DROP TABLE customer_t2;

行存表和列存表的选择

  • 更新频繁程度

    数据如果频繁更新,选择行存表。

  • 插入频繁程度

    频繁的少量插入,选择行存表。一次插入大批量数据,选择列存表。

  • 表的列数

    表的列数很多,选择列存表。

  • 查询的列数

    如果每次查询时,只涉及了表的少数(<50%总列数)几个列,选择列存表。

  • 压缩率

    列存表比行存表压缩率高。但高压缩率会消耗更多的CPU资源。

#openGauss opengauss.org/zh/