检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
分区键 分区键由一个或多个列组成,分区键值结合对应分区方法能够唯一确定某一元组所在的分区,通常在建表时通过PARTITION BY语句指定: CREATE TABLE table_name (…) PARTITION BY part_strategy (partition_key)
p表的问题并且该部分普通表和分区表共用,而分区路由部分解决分区路由即tuple元组插入到对应partRel的问题,并且分区路由算法本身作为一级、二级分区共用,不同之处在于二级分区相比一级分区多一层路由操作,对路由算法为两次调用。 图1 普通表&分区表数据插入 因此对数据插入优化的侧重点如下:
分割分区 用户可以使用分割分区的命令来将一个分区分割为两个或多个新分区。当分区数据太大,或者需要对有MAXVALUE的范围分区/DEFAULT的列表分区新增分区时,可以考虑执行该操作。分割分区可以指定分割点将一个分区分割为两个新分区,也可以不指定分割点将一个分区分割为多个新分区。分
date_202002 INTO PARTITION date_2020_old UPDATE GLOBAL INDEX; 对间隔分区表的间隔分区完成合并分区操作之后,源分区之前的间隔分区会变成范围分区。 父主题: 合并分区
所示。 图3 选择连接器类型 选择“MySQL”后单击“下一步”,配置MySQL连接的参数。 单击“显示高级属性”可查看更多可选参数,具体请参见配置云数据库MySQL/MySQL数据库连接。这里保持默认,必填参数如表1所示。 表1 MySQL连接参数 参数名 说明 取值样例 名称
p表的问题并且该部分普通表和分区表共用,而分区路由部分解决分区路由即tuple元组插入到对应partRel的问题,并且分区路由算法本身作为一级、二级分区共用,不同之处在于二级分区相比一级分区多一层路由操作,对路由算法为两次调用。 图1 普通表&分区表数据插入 因此对数据插入优化的侧重点如下:
分区表索引重建/不可用 用户可以通过命令使得一个分区表索引或者一个索引分区不可用,此时该索引/索引分区不再维护;使用重建索引命令可以重建分区表索引,恢复索引的正常功能。 此外,部分分区级DDL操作也会使得Global索引失效,包括删除drop、交换exchange、清空trunc
Max/Min 场景描述 当对分区表使用min/max函数时,通常SQL引擎的实现方式是先通过Partition Iterator + PartitionScan对分区表做全量扫描然后进行Sort + Limit操作。如果分区是索引扫描,可以先对每个分区进行Limit操作,求出min/max值,最后在分区表上做Sort
Max/Min 场景描述 当对分区表使用Max/Min函数时,通常SQL引擎的实现方式是先通过Partition Iterator + PartitionScan对分区表做全量扫描然后进行Sort + Limit操作。如果分区是索引扫描,可以先对每个分区进行Limit操作,计算Max/Min值,最后在分区表上做Sort
删除分区 功能描述 本节操作介绍删除分区表的一个或多个分区。 分区表分为两种,OBS表和DLI表。在删除分区时,DLI表和OBS表都支持利用指定条件删除分区表的一个或多个分区。OBS表还支持按指定筛选条件删除分区。 注意事项 所要删除分区的表必须是已经存在的表,否则会出错。 所要
新增分区 用户可以在已建立的分区表中新增分区,来维护新业务的进行。当前各种分区表支持的分区上限为1048575,如果达到了上限则不能继续添加分区。同时需要考虑分区占用内存的开销,分区表使用内存大致为(分区数 * 3 / 1024)MB,分区占用内存不允许大于local_sysca
分区算子执行优化 Partition Iterator算子消除 Merge Append Max/Min 分区导入数据性能优化 父主题: 分区表查询优化
分区算子执行优化 Partition Iterator算子消除 Merge Append Max/Min 分区导入数据性能优化 父主题: 分区表查询优化
分区导入数据性能优化 场景描述 当向分区表插入数据的时候,如果插入的数据为常量/参数/表达式等简单类型,会自动对INSERT算子进行执行优化(FastPath)。可以通过执行计划来判断是否触发了执行优化,触发执行优化时Insert计划前会带有FastPath关键字。 示例 gaussdb=#
分区(分区子表、子分区) 分区表中实际保存数据的表,对应的entry通常保存在pg_partition中,各个子分区的parentid作为外键关联其分区母表在pg_class表中的OID列。 示例:t1_hash为一个一级分区表: gaussdb=# CREATE TABLE t1_hash
分区表对导入操作的性能影响 在GaussDB内核实现中,分区表数据插入的处理过程相比非分区表增加分区路由部分的开销,因从整体上分区表场景的数据插入开销主要看成:(1)heap-insert基表插入;(2)partition-routing分区路由两个部分。其中heap基表插入解决
对Local索引重命名索引分区 使用ALTER INDEX RENAME PARTITION可以对Local索引重命名索引分区。具体方法与一级分区表重命名分区相同。 父主题: 重命名分区
分区表介绍 分区表(Partitioned Table)指在单节点内对表数据内容按照分区键、以及围绕分区键的分区策略对表进行逻辑切分。从数据分区的角度来看是一种水平分区(horizontal partition)分区策略方式。分区表增强了数据库应用程序的性能、可管理性和可用性,并
分区表查询优化 本节示例对应explain_perf_mode参数值为normal。 分区剪枝 分区算子执行优化 分区索引 分区表统计信息 Partition-wise Join 父主题: 分区表
分区表查询优化 本节示例对应explain_perf_mode参数值为normal。 分区剪枝 分区索引 分区表统计信息 Partition-wise Join 父主题: 分区表