开发者社区> 问答> 正文

HybridDB如何使用表分区?

已解决

HybridDB如何使用表分区?

展开
收起
卓刀 2017-03-19 21:47:59 2285 0
1 条回答
写回答
取消 提交回答
  • PostgreSQL你值得拥有。
    采纳回答

    对于数据库中的事实表(以及一些比较大的表),通常建议使用表分区。使用表分区功能,方便定期的进行数据的删除(通过alter table drop patition命令即可删除整个分区的数据)和导入(使用交换分区的方式即alter table exchange patition命令可以加入新数据分区)。HybridDB支持Range Partition(范围分区)、List Partition(列表分区)和Composite Partition(多级分区)。注意Range Partition只支持利用数值或时间类型的字段来分区。下面是一个使用Range Partition的表的例子。更多详细的说明和例子可以参见文档以及Greenplum官方文档。

    CREATE TABLE LINEITEM (
    L_ORDERKEY              BIGINT NOT NULL, 
    L_PARTKEY               BIGINT NOT NULL, 
    L_SUPPKEY               BIGINT NOT NULL, 
    L_LINENUMBER    INTEGER,
    L_QUANTITY              FLOAT8,
    L_EXTENDEDPRICE FLOAT8,
    L_DISCOUNT              FLOAT8,
    L_TAX                   FLOAT8,
    L_RETURNFLAG    CHAR(1),
    L_LINESTATUS    CHAR(1),
    L_SHIPDATE              DATE,
    L_COMMITDATE    DATE,
    L_RECEIPTDATE   DATE,
    L_SHIPINSTRUCT  CHAR(25),
    L_SHIPMODE              CHAR(10),
    L_COMMENT               VARCHAR(44)
    )  WITH  (APPENDONLY=true, ORIENTATION=column, COMPRESSTYPE=zlib, COMPRESSLEVEL=5, BLOCKSIZE=1048576, OIDS=false) DISTRIBUTED BY (l_orderkey)
    PARTITION BY RANGE (L_SHIPDATE) (START (date '1992-01-01') INCLUSIVE END (date '2000-01-01') EXCLUSIVE EVERY (INTERVAL '1 month' ));
    2019-07-17 20:56:44
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
MaxCompute索引优化实践分享 立即下载
时序数据库TSDB新功能 - 如何用SQL进行时序查询 立即下载
MySQL表和索引优化实战 立即下载