PolarDB分区表完全兼容原生MySQL的语法和功能。同时,PolarDB分区表相对于原生MySQL进行了性能增强,支持丰富的分区类型及组合,使您可以更加便捷、简单和高效的使用分区表。

分区表是将一个大的逻辑表,按照分区规则分割成多个小的物理表, 大的逻辑表为分区表,小的物理表为分区,每一个分区在存储引擎上独立组织管理数据和索引。分区规则主要包括RANGELISTHASH三种,您需要指定分区键, 根据分区键字段的值按照这三种规则把数据划分到不同的分区。PolarDB还支持创建混合分区,可以将每个分区放在不同的存储引擎上。Orders表做二级分区的示意图如下:

image

优势

  • 丰富的分区类型及组合。

    • 支持RANGELISTHASHLIST DEFAULT HASH分区及其分区的任意组合,使得分区表具有更加灵活的数据分治能力。

    • 支持INTEVAL RANGE分区,让分区运维自动化更加简单高效。

    • 支持INNODBOSS混合分区,助力您的业务降本增效。

    • 支持在不同分区下创建不同的索引(Partial index)及全局二级索引(Global Secondary Index),更好的满足基于分区的HTAP交易和查询负载对表索引的不同要求。

  • 提升性能。

    • 分区剪枝(Partition Pruning):在查询数据时,优化器会根据查询条件和分区元数据自动过滤不符合条件的分区,减少数据扫描,PolarDB还支持分区动态剪枝(Partition Dynamic Pruning)功能,帮助您提升查询效率。

    • 分区连接(PartitionWise Joins):在连接分区时,根据分区条件将分区表打散成分区与分区之间的连接,过滤不符合条件的分区之间的连接,把连接的数据控制在最小范围内,提高查询效率。

    • 统计信息管理:相比普通表,以分区粒度进行的信息统计和管理,更加精确和灵活,从而支持选择更优的查询计划。

    • 支持并行查询加速,为基于分区的大表方案提供成倍性能提升。

  • 加强数据管理能力。

    • 索引创建、删除和重建:以分区为单位进行索引的创建、删除和重建。

    • 备份和恢复: 以分区粒度进行数据备份和恢复。

  • 降低成本。

    分区可以根据数据重要性数据存储性能数据存储可靠性数据存储形式多种维度进行存储。

功能优化和性能增强

相对于原生MySQL,PolarDB如下功能得到了优化,性能得到了增强:

类型

优化项

相关文档

扩展分区类型

支持全类型二级分区

支持HASH/KEY分区下面做二级分区

选择二级分区

二级分区支持RANG/LIST类型

支持二级分区的Partition Pruning

支持二级分区粒度上的部分DDL操作

List Default [Hash]分区类型

支持List Default [Hash]分区

LIST DEFAULT HASH

支持List Default [Hash]分区下面做二级分区

二级分区支持List Default分区

支持通过reorganize从default [Hash]分区分离出List分区

支持通过reorganize List分区合并到default [Hash]分区

支持通过reorganize改变default hash分区的个数

支持List default Hash分区的Partition Pruning

支持List Default Hash分区、ONLINE ADD List分区

Interval Range分区类型

支持Interval Range分区

INTERVAL RANGE简介

Interval Range支持Hash二级分区

INTERVAL RANGE转换分区表

支持分区索引

部分索引(Partial Index)

Partial Index支持一级分区

部分索引

Partial Index支持二级分区

支持一级/二级分区粒度的索引DDL操作(ADD/DROP/REBUILD Index)

支持Partial Index的Index Pruning

统计信息支持Partial Index

Hybrid Partition表支持 Partial Index

List Default Hash分区支持Partial Index

全局二级索引(Global Secondary Index)

支持CREATE/DROP全局二级索引

全局二级索引(GSI)

支持DML和大部分表级的DDL

支持全局二级索引的Online DDL

支持unique的全局二级索引

Query优化

查询优化器

支持Partial Partition Wise join

支持Partition动态剪枝

支持Partition Index Pruning

支持分区粒度的统计信息(Hyperloglog)

分区表支持分区间的并行扫描

支持全局索引优化器选择和并行扫描

支持分区与MPP相结合

分区粒度MDL锁

ADD/DROP PARTITION支持分区粒度的MDL锁

在线分区维护

EXCHANGE PARTITION支持分区粒度的MDL锁

REBULD/REORGANIZE PARTITION支持分区粒度的MDL锁

二级分区支持子分区粒度的MDL锁

DDL功能

普通表与分区表的ONLINE DDL

普通表转分区表ONLINE DDL用于历史数据转Range分区表

普通表快速转换为RANGE分区表

Hybrid Partition

支持不同类型的存储引擎

创建混合分区

相关文档

分区类型的语法及详细使用说明

分区选择策略参考