基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
分区路由
更新时间:2023-07-18 17:25:58
OceanBase 的分区是表内建功能,您只需要在建表的时候指定分区策略和分区数即可。本文介绍分区路由的背景信息、语法、示例。
背景信息
分区表的查询 SQL 跟普通表是一样的,OceanBase 的 OBProxy 或 OBServer 会自动将用户 SQL 路由到相应节点内,因此,分区表的分区细节对业务是透明的。
语法
如果知道要读取的数据所在的分区号,可以通过 SQL 直接访问分区表的某个分区。简单语法格式如下:
part_table partition (partition_name)
默认情况下,除非表定义了分区名,分区名都是按一定规则编号,例如:
一级分区名为:p0 , p1 , p2 , ...
二级分区名为:p0sp0 , p0sp1 , p0sp2 , ... ; p1sp0 , p1sp1 , p1sp2 , ...
示例
查询一级分区
p0。obclient> select * from t_log partition(p0); +------+---------------------+ | col1 | col2 | +------+---------------------+ | 10 | 2021-03-30 00:00:00 | | 18 | 2021-04-30 00:00:00 | | 10 | 2021-07-01 00:00:00 | | 11 | 2021-09-30 00:00:00 | +------+---------------------+ 4 rows in set (0.01 sec)查询二级分区
p0sp1。obclient> select * from t_log partition(p0sp1); +------+---------------------+ | col1 | col2 | +------+---------------------+ | 18 | 2021-04-30 00:00:00 | +------+---------------------+ 1 row in set (0.00 sec)