创建和管理分区表 背景信息 GaussDB数据库支持的分区表为范围分区表、间隔分区表、列表分区表和哈希分区表。 范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期,例如将销售数据按照月份进行分区。
创建和管理分区表 背景信息 GaussDB数据库支持的分区表为范围分区表。 范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期,例如将销售数据按照月份进行分区。 分区表和普通表相比具有以下优点:
分区(分区子表、子分区) 分区表中实际保存数据的表,对应的entry通常保存在pg_partition中,各个子分区的parentid作为外键关联其分区母表在pg_class表中的OID列。 示例:t1_hash为一个分区表: gaussdb=# CREATE TABLE t1_hash
8。 max-txn-in-memory 内存管控参数,单位为MB,单个事务占用内存大于该值即进行落盘。 取值范围:0~100的整型,默认值为0,即不开启此种管控。 max-reorderbuffer-in-memory 内存管控参数,单位为GB,拼接-发送线程中正在拼接的事务总
分区(分区子表、子分区) 分区表中实际保存数据的表,对应的entry通常保存在pg_partition中,各个子分区的parentid作为外键关联其分区母表在pg_class表中的oid列。 示例1:t1_hash为一个分区表: gaussdb=# CREATE TABLE t1_hash
范围分区自动扩展 范围分区的自动扩展即间隔分区。开启范围分区自动扩展功能,需要在创建分区时明确指定INTERVAL子句。当前只支持一级间隔分区表,且只支持单列分区键。 -- 创建分区表并指定INTERVAL子句,表示支持范围分区自动扩展。 gaussdb=# CREATE TABLE
SMP场景下的Partial Partition-wise Join Partial Partition-wise Join是指相互Join的两张表中有一张表是分区表,另一张表可以为任意类型,在任意类型的这张表的上层需要增加一个Stream Redistribute算子,将数据分发后与分区表一侧进行匹配。
PG_CONSTRAINT PG_CONSTRAINT系统表存储表上的检查约束、主键、唯一约束和外键约束。 表1 PG_CONSTRAINT字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 conname name 约束名称(不一定是唯一的)。 connamespace
'B')支持,其他模式数据库下不支持。 对于外键约束,constraint_name和index_name同时指定时,索引名为constraint_name。 对于唯一键约束,constraint_name和index_name同时指定时,索引名为index_name。 USING method 指定创建索引的方法。
一级分区表自动扩展 开启列表分区的自动扩展功能,需要在创建一级列表分区表时指定AUTOMATIC关键字。一级列表分区表自动扩展支持多列分区键。 例如,创建一个支持自动扩展的列表分区表。 gaussdb=# CREATE TABLE auto_list (c1 int, c2 int)
数组类型 数组类型可以用来存储具有相同类型的若干元素。 数组类型的定义 一个数组数据类型一般通过在数组元素的数据类型名称后面加上方括号([])来命名。 示例一,创建一个名为sal_emp的表,它有一个表示雇员姓名类型为text的列(name),一个表示雇员季度工资的数组且元素类型
数组类型 数组类型可以用来存储具有相同类型的若干元素。 数组类型的定义 一个数组数据类型一般通过在数组元素的数据类型名称后面加上方括号([])来命名。 示例一,创建一个名为sal_emp的表,它有一个表示雇员姓名类型为text的列(name),一个表示雇员季度工资的数组且元素类型
PG_CONSTRAINT PG_CONSTRAINT系统表存储表上的检查约束、主键、唯一约束和外键约束。 表1 PG_CONSTRAINT字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 conname name 约束名称(不一定是唯一的)。 connamespace
PG_CONSTRAINT PG_CONSTRAINT系统表存储表上的检查约束、主键、唯一约束和外键约束。 表1 PG_CONSTRAINT字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 conname name 约束名称(不一定是唯一的)。 connamespace
对一级分区表交换分区 使用ALTER TABLE EXCHANGE PARTITION可以对一级分区表交换分区。 例如,通过指定分区名将范围分区表range_sales的分区date_202001和普通表exchange_sales进行交换,不进行分区键校验,并更新Global索引。
对一级分区表交换分区 使用ALTER TABLE EXCHANGE PARTITION可以对一级分区表交换分区。 例如,通过指定分区名将范围分区表range_sales的分区date_202001和普通表exchange_sales进行交换,不进行分区键校验,并更新Global索引。
开启/关闭范围分区自动扩展 使用ALTER TABLE SET INTERVAL可以开启/关闭范围分区自动扩展。 例如,开启范围分区自动扩展。 gaussdb=# CREATE TABLE range_int (c1 int, c2 int) PARTITION BY RANGE
'B')支持,其他模式数据库下不支持。 对于外键约束,constraint_name和index_name同时指定时,索引名为constraint_name。 对于唯一键约束,constraint_name和index_name同时指定时,索引名以index_name。 USING method 指定创建索引的方法。
布式事务,同城跨AZ部署,数据0丢失,支持1000+扩展能力,PB级海量存储等企业级数据库特性。拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。 支持区域: 华北-北京四 华北-乌兰察布一
制CHECK约束。 对于主键约束名称,在建表时,MySQL所有主键约束名称固定为PRIMARY KEY,GaussDB不支持复制。 对于唯一键约束名称,在建表时,MySQL支持复制,GaussDB不支持复制。 对于CHECK约束名称,在建表时,MySQL 8.0.16 之前的版本
您即将访问非华为云网站,请注意账号财产安全