数据分区带来的好处在于:
-
改善可管理性: 利用分区,可以将表和索引划分为一些更小、更易管理的单元。这样,数据库管理员在进行数据管理时就能采取“分而治之”的方法。 有了分区,维护操作可以专门针对表的特定部分执行。
-
可提升删除操作的性能: 删除数据时可以删除整个分区,与分别删除每行相比,这种操作非常高效和快速。
删除分区表与删除普通表的语法一致,都是通过DROP TABLE语法进行删除。
-
改善查询性能: 通过限制要检查或操作的数据数量,分区可带来许多性能优势。
分区剪枝:分区剪枝(也称为分区消除)是openGauss在执行时过滤掉不需要扫描的分区,只对相关的分区进行扫描的技术。分区剪枝通常可以将查询性能提高若干数量级。
-
智能化分区联接: 通过使用一种称为智能化分区联接的技术,分区还可以改善多表联接的性能。当将两个表联接在一起,并且至少其中一个表使用联接键进行分区时,可以应用智能化分区联接。智能化分区联接将一个大型联接分为多个较小的联接,这些较小的联接包含与联接的表“相同”的数据集。这里,“相同”定义为恰好包含联接的两端中相同的分区键值集,因此可以确保只有这些“相同”数据集的联接才会有效,而不必考虑其他数据集,目前不支持列表分区和哈希分区。