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)

浙公网安备 33010602011771号