分区表表性能在哪个版本会有很大提升?

分区表表性能在哪个版本会有很大提升?

简单查了一下release记录,大概有以下提升。

release-4.0.5 支持分区表的预打散功能

release-4.0.6 提升分区表的写性能

release-4.0.8 修复使用分区表时,可能遇到非预期 Panic 的问题

release-5.1.4 支持在 Range 类型分区表中对 IN 表达式进行分区裁剪

release-6.0.0 支持在 Range 类型分区表中对 IN 表达式进行分区裁剪

release-6.1.0 支持分区表动态裁剪

release-6.4.0 提升了分区表统计信息收集的性能

release-6.5.3 提升了对带有 Placement Rules 的分区表的 TRUNCATE 操作速度

release-6.5.3 修复分区表 TableScan 算子在 Region 迁移时性能劣化的问题

release-7.4.0 优化 ANALYZE 分区表的内存使用和性能

2 个赞

既然计划升级了就升级到最新呗,除了性能,功能也会多些。
比如7.4增加的这些功能就很方便管理:

  • 将分区表转换为非分区表
  • 对现有的非分区表进行分区
  • 修改现有分区表的分区类型

分区表性能提升是跟应用使用方式强相关的,分区是需要精心设计的,不是用了分区表就有性能提升

3 个赞

根据我们自己的使用经验,分区表在v6.1.0 支持分区表动态裁剪后,使用性能大大提升,因为只需要扫描要访问的分区就行了,不用再扫描不需要访问的分区。

2 个赞

赞同这位大佬的说法。
分区表使用要注意场景和方式。
要分区的表通常是几亿几十亿甚至上百亿行的大表,一定要注意在where条件中带上分区列作为过滤条件之一,或者显式指定只访问某个分区表。

1 个赞

问题点:使用分区键可以对某一个维度时间分区范围进行剪裁,根据不同场景对不同维度时间范围查询,可能效率就没有那么好,例如根据a_time进行分区,查询有a_time查询, b_time查询,c_time查询,d_time查询

你的数据是不是时序数据?

不算时序数据,会修改,删除操作

根据业务访问情况,只能选择最重要的、用得最多的时间列作为分区列了,这个也没有其他好的办法。
如果很必要用其他列,就考虑用空间换时间,再用另外的时间列做分区列,另外建一个分区表来用。

永远使用最新版本没错

还没使用过分区表功能

最近版本吧,分区表bug多性能差,一直在提升中

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。