达梦数据库系列—37.列存储表

目录

HUGE表

列存储的优势

创建HUGE表

HUGE表使用


列存储是以列为单位进行存储的,每一个列的所有数据都存储在一起,而且一个指定的页面中存储的都是某一个列的连续数据。

HUGE表

混合表空间存储 HUGE 表是通过 HFS 存储机制来管理的,它相当于一个文件系统。为混合表空间指定一个 HUGE 数据文件路径,其实就是创建一个空的 HUGE 数据文件目录(系统中有一个默认的混合表空间 MAIN,其 HUGE 数据文件目录名为 HMAIN)。在创建一个 HUGE 表并插入数据时,数据库会在指定的混合表空间的 HUGE 数据文件目录下创建一系列的目录及文件。

列存储的优势

  1. 同一个列的数据是连续的,可以加快某一个列的查询速度。
  2. 连续存储的列数据,有更大的数据相似性,有远优于行存储的压缩率。

创建HUGE表

指定 WITH DELTA,创建事务型 HUGE 表;指定 WITHOUT DELTA,则创建非事务型 HUGE 表,缺省为 WITH DELTA。若需要创建非事务型 HUGE 表,在创建数据库时需要将参数 HUGE_WITH_DELTA 和 RLOG_GEN_FOR_HUGE 置为 0。

创建非事务型 HUGE 表 T1

  CREATE HUGE TABLE T1 (A INT, B INT) STORAGE(WITHOUT DELTA);

创建事务型 HUGE 表 T2

  CREATE HUGE TABLE T2 (A INT, B INT) STORAGE(WITH DELTA);

创建 HUGE 表 test(不记录区统计信息)

  CREATE HUGE TABLE test(name VARCHAR, sno INT) STORAGE (STAT NONE);

创建 HUGE 表 test指定表空间

CREATE HUGE TABLE test(name VARCHAR, sno INT) STORAGE (ON TS1);

创建 HUGE 表 test,指定 sno 列按照最大压缩比压缩

  CREATE HUGE TABLE test(name VARCHAR, sno INT) COMPRESS LEVEL 1 (sno);

例:

      CREATE HUGE TABLE orders

    (

        o_orderkey            INT,

        o_custkey             INT,

        o_orderstatus          CHAR(1),

        o_totalprice          FLOAT,

        o_orderdate           DATE,

        o_orderpriority      CHAR(15),

        o_clerk              CHAR(15),

        o_shippriority      INT,

        o_comment            VARCHAR(79) STORAGE(stat none)

     )STORAGE(SECTION(65536) , FILESIZE(64), WITH DELTA, ON ts1) COMPRESS LEVEL 9 FOR 'QUERY HIGH'  (o_comment);

orders 表的区大小为 65536 行,文件大小为 64M,指定所在的混合表空间为 ts1,o_comment 列指定的区大小为不做统计信息,其它列(默认)都做统计信息,指定列 o_comment 列压缩类型为查询高压缩率,压缩级别为 9。

HUGE表使用

查看HIGE表空间:

select id,name,pathname from v$huge_tablespace;

HUGE 表与普通行表一样,可以进行增、删、改操作,操作方式也是一样的。使用 HUGE 表时应注意存在以下一些限制:

另外,使用 HUGE 表时应注意存在以下一些限制:

  1. 建 HUGE 表时仅支持定义 NULL、NOT NULL、UNIQUE 约束以及 PRIMARY KEY。后两种约束也可以通过 ALTER TABLE 的方式添加,但这两种约束不检查唯一性,用户需要确保实际数据符合约束,否则相关操作的结果可能不符合预期;
  2. HUGE 不允许建立聚集索引,允许建立二级索引,不支持建位图索引,其中 UNIQUE 索引不检查唯一性;
  3. 不支持 SPACE LIMIT(空间限制);
  4. 不支持建立全文索引;
  5. 不支持使用自定义类型;
  6. 不支持引用约束;
  7. 不支持 IDENTITY 自增列;
  8. 不支持大字段列;
  9. 不支持建触发器;
  10. 不支持游标的修改操作;
  11. PK 和 UNIQUE 约束不检查唯一性,对应的索引都为虚索引;UNIQUE 索引也不检查唯一性,为实索引,索引标记中不包含唯一性标记,即和普通二级索引相同;
  12. 不允许对分区子表设置 SECTION 和 WITH/WITHOUT DELTA;
  13. 当事务型 HUGE 表进行了较多增删改操作时,应对其进行数据重整操作,以提高性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥德彪的蕉

天不生我奥德彪,非洲无人拉香蕉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值