gp数据库分区

1、创建数据库:
create database 库名;

2、删除数据库:
drop database 库名;

3、创建表:
create table 表名(
id integer,
name text,
price numeric {精确度较高的小数型,同mysql的decimal}
);

3-1、GP建表指定列级约束
create table 表名(
id integer primary key, {主键约束}
name text not null, {非空约束}
price numeric check(price>0), {检查约束}
type integer unique {唯一约束}
);
【注】:主键、唯一键、随机分布不能共存

3-2、声明表的分布策略
GP的分布键作用是保证数据能够均匀分布在不同的存储节点上,充分利用并行计算带来的高性能。GP的分布策略包括HASH分布和随机分布。
HASH分布的关键字是:distributed by(列名)
随机分布的关键字是:distributed by randonly

在创建表或者修改表定义的时候,必须使用distributed by来执行分布键,从而使数据均匀的存储在不同的segment上。
如果指定的分布键(列名)不是主键,则无法创建(指定的列必须是主键)。
(1)、声明hash分布
create table 表名(
id integer primary key, {主键约束}
name text not null, {非空约束}
price numeric check(price>0), {检查约束}
type integer unique {唯一约束}
)distributed by(id);

(2)、声明随机分布
create table 表名(
id integer primary key, {主键约束,这里就不能在声明主键约束}
name text not null, {非空约束}
price numeric check(price>0), {检查约束}
type integer unique {唯一约束,这里就不能在声明唯一约束}
)distributed by randonly; {指定随机分布}

(3)全局分布 ,每个节点复制
CREATE TABLE products (xxxxx ) DISTRIBUTED REPLICATED

【注】:主键、唯一键、随机分布不能共存
否则报错:ERROR:Primary key and distributed randonly are incompatible{不兼容的}
【说明】:几何数据类型和自定义的数据类型不适合作为GP的分布键。如果没有适合的列可以保证数据的均匀分布,则使用随机分布

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值