OBCP V4.0每日一题
问题
在OceanBase中,关于表分组(Table Group)的作用,以下描述正确的是?
A. 表分组内的所有表必须具有相同的分区数
B. 表分组可以将不同租户的表组织在一起
C. 表分组主要用于实现跨租户的资源隔离
D. 表分组可以提升跨表JOIN查询的性能
答案
D. 表分组可以提升跨表JOIN查询的性能
Tips
- 表分组(Table Group)是将一组相关的表(通常是经常一起JOIN的表)组织在一起,使它们的分区以相同方式分布在节点上。当JOIN条件包含分区键时,可以实现分区内本地JOIN,避免跨节点数据传输,显著提升查询性能。
- 选项A不准确——表分组内的表不要求分区数完全相同,但分区数相同且分区方式一致时才能充分发挥本地JOIN的优势。
- 选项B错误——表分组是租户级别的对象,只能组织同一租户内的表,不能跨租户。
- 选项C错误——资源隔离由资源单元和租户配置实现,不是表分组的主要功能。
延伸思考
在业务设计阶段,将经常关联查询的大表放入同一个表分组,并采用相同的分区键和分区数,可以有效降低分布式JOIN的网络开销。对于典型的OLTP场景,合理的表分组设计是性能优化的关键手段之一。