暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

分区路由

SQL新手 2022-12-08
233

OceanBase 的分区是表内建功能,您只需要在建表的时候指定分区策略和分区数即可。本文介绍分区路由的背景信息、语法、示例。

背景信息

分区表的查询 SQL 跟普通表是一样的,OceanBase 的 OBProxy 或 OBServer 会自动将用户 SQL 路由到相应节点内,因此,分区表的分区细节对业务是透明的。

语法

如果知道要读取的数据所在的分区号,可以通过 SQL 直接访问分区表的某个分区。简单语法格式如下:

part_table partition (partition_name)

默认情况下,除非表定义了分区名,分区名都是按一定规则编号,例如:

  • 一级分区名为:p0 , p1 , p2 , ...

  • 二级分区名为:p0sp0 , p0sp1 , p0sp2 , ... ; p1sp0 , p1sp1 , p1sp2 , ...

示例

  1. 查询一级分区 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
    
  2. 查询二级分区 p0sp1

    obclient> select * from t_log partition(p0sp1);
    +------+---------------------+
    | col1 | col2                |
    +------+---------------------+
    |   18 | 2021-04-30 00:00:00 |
    +------+---------------------+
    1 row in set
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论