检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
检查隐式转换的性能问题 在某些场景下,数据类型的隐式转换可能会导致潜在的性能问题。请看如下场景: SET enable_fast_query_shipping = off; CREATE TABLE t1(c1 VARCHAR, c2 VARCHAR); CREATE INDEX
表分区技术 表分区技术(Table-Partitioning)通过将非常大的表或者索引从逻辑上切分为更小、更易管理的逻辑单元(分区),能够让用户对表查询、变更等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速定位到数据所在的分区,从而避免在数据库
范围分区 范围分区(Range Partition)根据为每个分区建立分区键的值范围将数据映射到分区。范围分区是生产系统中最常见的分区类型,通常在以时间维度(Date、Time Stamp)描述数据场景中使用。范围分区有两种语法格式,示例如下: VALUES LESS THAN的语法格式
新增分区 用户可以在已建立的分区表中新增分区,来维护新业务的进行。当前各种分区表支持的分区上限为1048575,如果达到了上限则不能继续添加分区。同时需要考虑分区占用内存的开销,分区表使用内存大致为(分区数 * 3 / 1024)MB,分区占用内存不允许大于local_sysca
合并分区 用户可以使用合并分区的命令来将多个分区合并为一个分区。合并分区只能通过指定分区名来进行,不支持指定分区值的写法。 合并分区不能作用于哈希分区上。 执行合并分区命令会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。
范围分区 范围分区(Range Partition)根据为每个分区建立分区键的值范围将数据映射到分区。范围分区是生产系统中最常见的分区类型,通常在以时间维度(Date、Time Stamp)描述数据场景中使用。范围分区有两种语法格式,示例如下: VALUES LESS THAN的语法格式
新增分区 用户可以在已建立的分区表中新增分区,来维护新业务的进行。当前各种分区表支持的分区上限为1048575,如果达到了上限则不能继续添加分区。同时需要考虑分区占用内存的开销,分区表使用内存大致为(分区数 * 3 / 1024)MB,分区占用内存不允许大于local_sysca
删除分区 用户可以使用删除分区的命令来移除不需要的分区。删除分区可以通过指定分区名或者分区值来进行。 删除分区不能作用于HASH分区上。 执行删除分区命令会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。
移动分区 用户可以使用移动分区的命令来将一个分区移动到新的表空间中。移动分区可以通过指定分区名或者分区值来进行。 对一级分区表移动分区 对二级分区表移动二级分区 父主题: 分区表运维管理
分区表动态剪枝 对于检索条件中存在带有变量的分区表查询语句,由于优化器阶段无法获取用户的绑定参数,因此优化器阶段仅能完成indexscan、bitmapindexscan、indexonlyscan等算子检索条件的解析,后续会在执行器阶段获得绑定参数后,完成分区筛选。算子包含的检
列表分区自动扩展 开启列表分区的自动扩展功能,需要在创建分区时指定AUTOMATIC关键字。列表分区自动扩展支持一级分区和二级分区自动扩展。 使用列表分区的自动扩展功能,要求分区表中不能包含分区键值为DEFAULT的分区。 使用列表分区的自动扩展功能,需合理设计分区列,避免大量扩
系统表 分区表 负载管理 OLTP表压缩 密态等值查询 通信 账本数据库 SPM计划管理 AI 审计 用户和权限管理 连接和认证 动态脱敏 DATABASE LINK 物化视图 逻辑解码 多租数据库 其他系统表 父主题: 系统表和系统视图
使用分区表 分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储。这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。分区表和普通表相比具有以下优点: 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。
系统表 分区表 负载管理 OLTP表压缩 密态等值查询 通信 账本数据库 SPM计划管理 AI 审计 用户和权限管理 连接和认证 动态脱敏 DATABASE LINK 物化视图 逻辑解码 多租数据库 其他系统表 父主题: 系统表和系统视图
分区(分区子表、子分区) 分区表中实际保存数据的表,对应的entry通常保存在pg_partition中,各个子分区的parentid作为外键关联其分区母表在pg_class表中的OID列。 示例:t1_hash为一个一级分区表: gaussdb=# CREATE TABLE t1_hash
分区表 本章节围绕分区表在大数据量场景下如何对保存的数据进行“查询优化”和“运维管理”出发,分六个章节对分区表使用进行系统性说明,包含语义、原理、约束限制等方面。 大容量数据库 分区表介绍 分区表查询优化 分区表运维管理 分区表系统视图&DFX
分区键 分区键由一个或多个列组成,分区键值结合对应分区方法能够唯一确定某一元组所在的分区,通常在建表时通过PARTITION BY语句指定: CREATE TABLE table_name (…) PARTITION BY part_strategy (partition_key)
二级分区 二级分区(Sub Partition,也叫组合分区)是基本数据分区类型的组合,将表通过一种数据分布方法进行分区,然后使用第二种数据分布方式将每个分区进一步细分为子分区。给定分区的所有子分区表示数据的逻辑子集。常见的二级分区组合如下所示: Range-Range Range-List
分区算子执行优化 Partition Iterator算子消除 Merge Append Max/Min 分区导入数据性能优化 父主题: 分区表查询优化
分区算子执行优化 Partition Iterator算子消除 Merge Append Max/Min 分区导入数据性能优化 父主题: 分区表查询优化