GBASE南大通用技术分享:GBase 8a 数据库分区表创建解析

分区表是根据一定规则,将数据库中的一张表分解成多个更小的容易管理的部分,从逻辑上看,只有一张表,但底层却是由多个物理分区组成。

**南大通用GBase 8a 数据库分区表包括普通分区表和子分区表。 **

目前常用的分区方法有RANGE分区、LIST分区、KEY分区、HASH分区,在分区的管理上目前支持创建分区、添加分区、删除分区。

RANGE分区表和LIST分区表支持子分区,子分区的分区类型可以为[LINEAR] HASH和[LINEAR] KEY。

分区表支持分区列类型:

数值型, 如: int, bigint, smallint, float 等

时间类型: date,datetime, time

**支持分区函数: **

abs(), ceiling(), ceil(), datadiff(), day(), dayofmonth(), dayofweek(),dayofyear(), floor(), hour(), microsecond(), minute(), mod(),month(), quarter(), second(), time_to_sec(), to_days(), to_seconds(),weekday(), year(), yearweek(), +, -, *, /, div, %, extract(),from_days()

**创建RANGE分区表 **

gbase> CREATE TABLE t1 ( a int(11) DEFAULT NULL, b varchar(10) DEFAULT NULL) REPLICATED

PARTITION BY RANGE (a) (

PARTITION p0 VALUES LESS THAN (10) ,

PARTITION p1 VALUES LESS THAN (20) ,

PARTITION p2 VALUES LESS THAN (30) ,

PARTITION p3 VALUES LESS THAN (40)

) ;

Query OK, 0 rows affected (Elapsed: 00:00:00.11 )

创建LIST分区表

gbase>

create table t1 (a int, b varchar(10)) partition by list(a) (

partition p0 values in (3,5,6,9,17),

partition p1 values in (1,2,10,11,19,20),

partition p2 values in (4,12,13,14,18),

partition p3 values in (7,8,15,16)

);

Query OK, 0 rows affected (Elapsed: 00:00:00.11)

创建HASH分区表

gbase>

create table t1 (a int, b varchar(10)) partition by hash(a);

Query OK, 0 rows affected (Elapsed: 00:00:00.09)

创建KEY分区表

gbase>

create table t1 (a int, b varchar(10))partition by key(a);

Query OK, 0 rows affected (Elapsed: 00:00:00.08)

posted @ 2025-10-14 10:46  GBASE南大通用  阅读(8)  评论(0)    收藏  举报