后浪云OceanBase教程:OceanBase 引用分区表和索引

表和索引可以分区。进行分区时,这些 Schema 对象由许多称为分区的部分组成,所有这些部分都具有相同的逻辑属性。例如,表中的所有分区共享相同的列和约束定义,而索引中的所有分区共享相同的索引列。

分区扩展名和子分区扩展名使用户可以执行某些分区级和子分区级操作,例如,仅在一个分区或子分区上删除其中的所有行。没有扩展名称时,此类操作将要求您使用判断语句定义范围(​WHERE​ 子句)。对于范围分区表和列表分区表,尝试用判断语句描述分区级操作可能会很麻烦,尤其是当范围分区键使用多个列时。对于哈希分区和子分区,使用判断语句更加困难,因为这些分区和子分区是基于系统定义的哈希函数。

分区扩展名使您可以像使用表一样使用分区。此方法的一个优点(对范围分区的表最有用)是,您可以通过对其他用户或角色授予(或撤消)这些视图的特权来构建分区级别的访问控制机制。要将分区用作表,需要通过从单个分区中选择数据来创建视图,然后将该视图用作表。

语法

当在 SQL 语句的语法或轨道图中出现 ​partition_extended_name​ 或者 ​subpartition_extended_name​ 元素时,用户可以通过这两个元素指定分区扩展表名和子分区扩展表名。​partition_extended_name​ 的语法:


PARTITION partition
| 
PARTITION FOR ( partition_key_value [, partition_key_value]... )

subpartition_extended_name​ 的语法:


SUBPARTITION subpartition
| 
SUBPARTITION FOR ( subpartition_key_value [, subpartition_key_value]... )

DML 语句 ​INSERT​、​UPDATE​ 、 ​DELETE​ 和 ​ANALYZE​ 语句需要在分区或子分区名称的周围加上括号。这个小的区别体现在 partition_extension_clause 元素中。在 ​partition_extended_name​,​subpartition_extended_name​ 和 ​partition_ extension_clause​ 中,可以使用 ​PARTITION FOR​ 和 ​SUBPARTITION FOR​ 子句在不使用名称的情况下引用分区。它们对任何类型的分区均有效,尤其是间隔分区。将数据插入表中时,间隔分区会根据需要被自动创建。

对于上述元素中各自的 ​partition_key_value​ 或 ​subpartition_key_value​ 部分,它们为每个分区键列指定一个值。对于多列分区键,需要为每个分区键指定一个值。对于复合分区,对每个分区键指定一个值后,需要继续为每个子分区键指定一个值。所有分区键值均以逗号分隔。对于间隔分区,您只能指定一个 ​partition_key_value​,并且它必须是有效的 ​NUMBER​ 数据类型或日期时间数据类型的值。用户的 SQL 语句将在包含用户指定了值的分区或子分区上运行。

扩展名称的限制

使用分区扩展表名和子分区扩展表名时有以下限制:

  • 名称中没有远程表:扩展分区表名和子分区扩展表名不能包含数据库链接或能转换为具有数据库链接的表的同义词。要使用远程分区和远程子分区,需要在远程站点上使用扩展表名语法创建一个视图,然后引用该远程视图。
  • 名称中没有同义词:必须使用基表指定分区或子分区扩展名,不能使用同义词,视图或任何其他对象。
  • 在 ​PARTITION FOR​ 和 ​SUBPARTITION FOR​ 子句中,不能指定关键字 ​DEFAULT​ 、​MAXVALUE​ 或绑定变量为 ​partition_key_value​ 或 ​subpartition_key_value​ 的值。
  • 在 ​PARTITION​ 和 ​SUBPARTITION​ 子句中,不能为分区或子分区名称指定绑定变量。

示例

在以下示例中,sales 是具有分区 sales_q1_2000 的分区表。以下语句创建了单个分区 sales_q1_2000 的视图,然后像使用表一样使用它。本示例从分区中删除了一些行:


/*为分区 sales_q1_2000 创建视图 Q1_2000_sales*/
CREATE VIEW Q1_2000_sales
AS
SELECT *
FROM sales PARTITION (SALES_Q1_2000);
/*删除视图 Q1_2000_sales 中符合条件 amount_sold < 0 的值*/
DELETE FROM Q1_2000_sales
WHERE amount_sold < 0;

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/308293.html<

(0)
管理的头像管理
上一篇2025-05-27 12:40
下一篇 2025-05-27 12:41

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注