OceanBase 开发者中心(OceanBase Developer Center,ODC)支持可视化方式创建物化视图。本文介绍如何使用 ODC 创建物化视图。
背景信息
物化视图与传统的视图不同,因为它实际上存储了查询结果的数据。简而言之,当您创建一个物化视图时,数据库执行与之关联的 SQL 查询,并将结果集存储在磁盘上。它通过预计算和存储视图的查询结果,减少实时计算,从而提升查询性能并简化复杂查询逻辑,常用于快速报表生成和数据分析场景。
本文档以在 ODC 中创建物化视图 test_1 为例,将 employee 表中的 id、name 和 order 表中的 alias 数据组合到物化视图 test_1 中。
文中所使用的均为示例数据,您可根据实际情况对数据进行替换。
前提条件
用户已拥有新建物化视图权限。
如果用户无库权限,可以通过 工单 中的 申请库权限,申请对应的查询/导出/变更权限。
操作步骤
访问 SQL 控制台,在左侧数据库列表中展开目标数据库详情,单击物化视图右侧的 + 号,进行新建物化视图。

指定基本信息。
信息项
描述
物化视图名称
为该物化视图指定一个名称。
存储模式
支持选择行存或者列存。
刷新方式
选择物化视图的刷新方式,支持如下选择:
快速刷新:仅同步基表自上次刷新后的增量变更。
强制刷新:由数据库自动判断是否满足快速刷新条件,若满足则执行快速刷新,否则降级为完全刷新。
完全刷新:删除物化视图中所有现有数据,重新执行定义查询,从基表全量加载最新数据。
不需要刷新:不进行数据更新。
刷新并行度(可选)
用于控制物化视图刷新操作的默认并行度。通过合理设置其值,可以显著提升刷新效率,优化数据库性能。
自动刷新
支持设置立即开启自动刷新或者指定时间开启。
查询改写
开启后,对基表执行查询时,系统会自动将查询重写为使用现有物化视图的查询。
实时
开启后会获取实时数据。

配置数据信息
选择基表
信息项
说明
设置别名
为选中的基表设置一个别名,可选操作。在表操作区中单击表名后的 <别名> 标签在文本框中输入别名。
设置关联关系
表操作区中存在两个或两个以上的表时可通过下拉框选择表与表之间的关联关系,默认值为空, 最后一张表无需设置关联关系。单击别名标签后的下拉列表标签
进行选择,可选 JOIN 、 INNER JOIN 、 LEFT JOIN 、 RIGHT JOIN 、 CROSS JOIN 、 FULL JOIN 、 UNION 、 UNION ALL 、 INTERSECT 、 MINUS 、 LEFT OUTER JOIN 、 RIGHT OUTER JOIN 和 FULL OUTER JOIN 等关联关系。调整关联顺序
可直接在表操作区中拖动选择的基表进行顺序的调整。每次调整,变更为最后一张表的关联关系将被清空。
删除基表
在表操作区中单击每张表后的删除按钮,可将该表从表操作区中删除。每次删除,变更为最后一张表的关联关系将被清空。

选择列
信息项
说明
设置别名
为选中的列设置一个别名,可选操作。在已选列区域中单击字段名后的 <别名> 标签在文本框中输入别名。
调整关联顺序
可直接在已选列区域中拖动选择的列进行顺序的调整。
删除字段
在已选列区域中单击每个列右侧的删除按钮,可删除该列。
自定义列
单击已选列区域右上角的 +自定义 标签会添加一个自定义列,用户需要为新增的列指定名称和别名。

指定约束
信息项
说明
新增约束
单击约束页签左上角的 + 图标,新增主键约束,在 列 中选择目标列。
删除约束
选择指定约束内容后,单击左上角删除按钮。

选择分区
信息项
说明
设置分区规则
设置分区规则,默认为 None(不分区),支持 Range、Range Columns、List、List Column、Hash、Key 方法。选择指定方法后,按需填写对应方法配置。

确认 SQL
完成上述所有信息的指定后,单击页面上 提交并确认 SQL 按钮进入 SQL 确认页面。

在语句编辑页面中会根据指定的信息生成对应的物化视图定义语句。当包含 2 个以上表时,需要根据表之间的关联关系和逻辑条件等补齐语句。补齐物化视图创建语句后,单击页面右下角的 执行 。
完成新建物化视图
新建物化视图完成后,可以在数据库下查看对应物化视图。
