本节主要介绍非分区表的创建,分区表的创建及使用请参见 创建分区表 章节。

创建非分区表是指创建只有一个分区的表。

创建非分区表的示例语句如下:

示例中创建了 2 个表,并同时对表中的列定义了一些约束信息,包括在不同列上创建的主键和外键等。更多主键、外键等的介绍,请参见 章节。

MySQL 模式与 Oracle 模式中的 SQL 数据类型不同,创建表的列时请根据对应的模式选择正确的数据类型,有关 SQL 数据类型的详细描述,请参见《OceanBase 数据库 SQL参考(MySQL模式)》和《OceanBase 数据库 SQL参考(Oracle 模式)》。

说明

  • MySQL 模式

    在 OceanBase 数据库的 MySQL 模式下,可以使用 语句复制表的数据,但是结构并不完全一致,并且会丢失约束、索引、默认值、分区等信息。

    示例语句如下:

    还可以使用 CREATE TABLE LIKE 语句复制表结构,但是不能复制表数据。

    示例语句如下:

复制表是 OceanBase 数据库的高级优化手段。

通常 OceanBase 集群是三副本架构,默认每个表的每个分区在 OceanBase 数据库中会有三个副本数据,在角色上分为一个主副本(Leader 副本)和两个备副本(Follower 副本),默认由主副本提供读写服务。

复制表可以在指定租户的每台机器上都有一个备副本,并且主副本与所有备份的数据使用全同步策略保持强同步。这样做的目的是为了让业务有些 SQL 关联查询时能在同一节点内部执行,以获取更好的性能。

示例语句如下: