检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
对二级分区表重命名二级分区 使用ALTER TABLE RENAME SUBPARTITION可以对二级分区表重命名二级分区。 例如,通过指定分区名将二级分区表range_list_sales的分区date_202001_channel1重命名。 ALTER TABLE range_list_sales
TABLE range_list SET SUBPARTITIONING AUTOMATIC; 开启二级列表分区自动扩展要求二级分区中不能存在分区键值为DEFAULT的分区。 关闭二级列表分区自动扩展。 gaussdb=# ALTER TABLE range_list SET SUBPARTITIONING
PBE动态剪枝 PBE动态剪枝支持范围如下所示: 支持分区类型:范围分区、哈希分区、列表分区。 支持表达式类型:比较表达式(<,<=,=,>=,>)、逻辑表达式、数组表达式。 支持隐式类型转换和函数:对于类型可以相互转换的场景和immutable函数可以支持PBE动态剪枝 PBE
间隔分区 间隔分区(Interval Partition)可以看成是范围分区的一种增强和扩展方式,相比之下间隔分区定义分区时无需为新增的每个分区指定上限和下限值,只需要确定每个分区的长度,实际插入的过程中会自动进行分区的创建和扩展。间隔分区在创建初始时必须至少指定一个范围分区,范
合并分区 用户可以使用合并分区的命令来将多个分区合并为一个分区。合并分区只能通过指定分区名来进行,不支持指定分区值的写法。 合并分区不能作用于哈希分区上。 执行合并分区命令会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。
分区表查询优化 本小节示例对应explain_perf_mode参数值为normal。 分区剪枝 分区索引 父主题: 分区表
PARTITION p0, PARTITION p1, PARTITION p2, PARTITION p3, PARTITION p4, PARTITION p5, PARTITION p6, PARTITION p7,
开启/关闭分区自动扩展 用户可以通过ALTER命令来对已创建的分区表开启/关闭分区自动扩展功能。这一操作会对分区表持有SHARE_UPDATE_EXCLUSIVE级别的表锁,与常规DQL/DML业务互不影响,但与DDL业务相互排斥。若DML业务触发自动扩展分区,也会与之互斥。不同级别锁的行为控制请参见常规锁设计。
索条件中需要至少包含一个分区键字段,对于含有多个分区键的分区表,包含任意分区键子集即可。目前分区表动态剪枝仅支持PBE(Prepare/Bind/Execute)场景和参数化路径场景。 PBE动态剪枝 参数化路径动态剪枝 父主题: 分区剪枝
列表分区自动扩展 开启列表分区的自动扩展功能,需要在创建分区时指定AUTOMATIC关键字。列表分区自动扩展支持一级分区和二级分区自动扩展。 使用列表分区的自动扩展功能,要求分区表中不能包含分区键值为DEFAULT的分区。 使用列表分区的自动扩展功能,需合理设计分区列,避免大量扩
列表分区 列表分区(List Partition)能够通过在每个分区的描述中为分区键指定离散值列表来显式控制行如何映射到分区。列表分区的优势在于可以以枚举分区值方式对数据进行分区,可以对无序和不相关的数据集进行分组和组织。对于未定义在列表中的分区键值,可以使用默认分区(DEFAU
对间隔分区表分割分区 对间隔分区表分割分区的命令与范围分区表相同。 对间隔分区表的间隔分区完成分割分区操作之后,源分区之前的间隔分区会变成范围分区。 例如,创建如下间隔分区表,并插入数据新增三个分区sys_p1、sys_p2、sys_p3。 CREATE TABLE interval_sales
TABLESPACE tb1; 当范围分区表有MAXVALUE分区时,无法新增分区。可以使用ALTER TABLE SPLIT PARTITION命令分割分区。分割分区同样适用于需要在现有分区表的前面/中间添加分区的情形,参考对范围分区表分割分区。 父主题: 新增分区
参数化路径动态剪枝 参数化路径动态剪枝支持范围如下所示: 支持分区类型:范围分区、哈希分区、列表分区。 支持算子类型:indexscan、indexonlyscan、bitmapscan。 支持表达式类型:比较表达式(<,<=,=,>=,>)、逻辑表达式。 参数化路径动态剪枝不支
一级分区表自动扩展 开启列表分区的自动扩展功能,需要在创建一级列表分区表时指定AUTOMATIC关键字。一级列表分区表自动扩展支持多列分区键。 例如,创建一个支持自动扩展的列表分区表。 gaussdb=# CREATE TABLE auto_list (c1 int, c2 int)
oid)指定OID代表的分区的索引使用的磁盘空间。其中,第一个oid为表的OID,第二个oid为分区的OID。 查看分区p1的索引分区磁盘空间。 SELECT pg_partition_indexes_size(49290, 49294); pg_partition_indexes_size --
合并分区 用户可以使用合并分区的命令来将多个分区合并为一个分区。合并分区只能通过指定分区名来进行,不支持指定分区值的写法。 合并分区不能作用于哈希分区上。 执行合并分区命令会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。
分区表业务并发支持:当分区级DDL与分区DQL/DML作用于不同分区时,支持二者执行层面的并发。 新增分区 删除分区 交换分区 清空分区 分割分区 合并分区 移动分区 重命名分区 分区表行迁移 分区表索引重建/不可用 父主题: 分区表
分区表业务并发支持:分布式分区表的DDL操作会锁全表,不支持跨分区DDL-DQL/DML并发。 新增分区 删除分区 交换分区 清空分区 分割分区 合并分区 移动分区 重命名分区 分区表行迁移 分区表索引重建/不可用 父主题: 分区表
分区查询 查询指定分区的数据。 --创建范围分区表。 gaussdb=# CREATE TABLE test_range1( id INT, info VARCHAR(20) ) PARTITION BY RANGE (id) ( PARTITION p1