
199 > 第 3 章:如何使用 OceanBase 社区版
3.6 如何使用 OceanBase 分区表进行水平拆分
分区技术(Partitioning)是 OceanBase 数据库非常重要的分布式能力之一,它能解决大表的
容量问题和高并发访问时的性能问题。分区技术将大表拆分为更多更小的结构相同的独立对象,
即分区。普通的表只有一个分区,可以看作分区表的特例。每个分区只能存在于一个节点内部,
分区表的不同分区可以分散在不同节点上。
分区路由
OceanBase 数据库的分区表是内建功能,您只需要在建表的时候指定分区策略和分区数即可。
分区表的查询 SQL 跟普通表是一样的,OceanBase 的 OBProxy 或 OBServer 会自动将用户
SQL 路由到相应节点内。因此,分区表的分区细节对业务是透明的。
如果知道要读取的数据所在的分区号,可以通过 SQL 直接访问分区表的某个分区。简单语法
格式如下:
part_table partition ( p[0,1,...][sp[0,1,...]] )
除了表定义了分区名这一特殊情况,默认情况下,分区名都是按一定规则编号,例如:一级分
区名为:p0, p1, p2, ... 二级分区名为:p0sp0, p0sp1, p0sp2, ... ; p1sp0, p1sp1, p1sp2, ...
示例:访问分区表的具体分区。
select * from t1 partition (p0) ;
select * from t1 partition (p5sp0) ;
评论