首批通过分布式安全可靠测评,为关键业务系统打造
支持复杂 SQL 处理,显著提升查询效率
更新时间:2026-06-09 17:53:45
OceanBase 的并行执行引擎和分布式事务处理机制,在面对复杂的 SQL 查询时, 数据量越大越复杂,执行效率相较于传统数据库越快。 本教程对导入的 TPC-H 样本数据进行单表查询和多表查询,并对比增加并行执行后的数据,您可自行体验其它 TPC-H 测试,更多内容参见体验 Operational OLAP。
说明
本篇教程也同步在 OB Cloud 控制台上线了交互式教程,可以跟随教程在真实的 OB Cloud 环境中进行互动体验,登录 OB Cloud 控制台 后,单击左侧导航栏的 实践教程 即可查看全部已上线的交互式教程。
概念介绍
并行执行
OceanBase 数据库的并行执行指的是在分布式架构下进行的并发处理。OceanBase 数据库采用了分布式架构,将数据分片存储在不同的节点上,通过数据分片和任务分片实现了数据和计算的并行处理。在OceanBase 中,每个节点都可以独立地执行任务,并且可以通过高速的网络互相通信,实现数据的交互和同步
前提条件
您拥有当前实例的实例管理员、数据读取和数据服务管理员权限,如无权限,可联系组织管理员进行添加。
您有可用的事务型集群实例,请参考创建租户完成租户创建后,再参考下述步骤操作。
您的环境中已存在可以使用的 MySQL 兼容模式租户和 MySQL 数据库和账号,并已对对数据库账号授读写权限。如需创建,详情参见创建账号和创建数据库(仅 MySQL)。
场景一:单表查询
在实例列表页选择您的实例及租户,单击进入 **租户工作台**页面。
单击打开 SQL 控制台 ,使用数据库账号登录 SQL 控制台,选择您的数据库
tutorialdb。
将下述 SQL 填入 SQL 窗口中。
select l_returnflag, l_linestatus, sum(l_quantity) as sum_qty, sum(l_extendedprice) as sum_base_price, sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, avg(l_quantity) as avg_qty, avg(l_extendedprice) as avg_price, avg(l_discount) as avg_disc, count(*) as count_order from lineitem where l_shipdate <= date '1998-12-01' - interval '90' day group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;执行 SQL,并对表
lineitem中的数据进行查询并记录执行时间。
SQL 执行能力分析
执行时间约为 315.73ms,执行速度是同等规格的 MySQL 实例的 3-5 倍。 OceanBase 基于分布式架构,在保障高性能的交易处理同时,能够完成实时分析、跑批等分析场景,在不影响 OLTP 能力的情况下,并最大程度降低数据冗余,帮企业大幅降低总成本。
说明
上述数据仅供参考,实际数值请以您的实际实验结果为准。
场景二:多表查询
对表 part、supplier、partsupp、nation、region 进行聚合查询。
select
s_acctbal,
s_name,
n_name,
p_partkey,
p_mfgr,
s_address,
s_phone,
s_comment
from
part,
supplier,
partsupp,
nation,
region
where
p_partkey = ps_partkey
and s_suppkey = ps_suppkey
and p_size = 15
and p_type like '%BRASS'
and s_nationkey = n_nationkey
and n_regionkey = r_regionkey
and r_name = 'EUROPE'
and ps_supplycost = (
select
min(ps_supplycost)
from
partsupp,
supplier,
nation,
region
where
p_partkey = ps_partkey
and s_suppkey = ps_suppkey
and s_nationkey = n_nationkey
and n_regionkey = r_regionkey
and r_name = 'EUROPE'
)
order by
s_acctbal desc,
n_name,
s_name,
p_partkey;

执行如下命令,开启 8 个并行执行,加快运算,并记录计算时间。
select /*+ parallel(8) */
s_acctbal,
s_name,
n_name,
p_partkey,
p_mfgr,
s_address,
s_phone,
s_comment
from
part,
supplier,
partsupp,
nation,
region
where
p_partkey = ps_partkey
and s_suppkey = ps_suppkey
and p_size = 15
and p_type like '%BRASS'
and s_nationkey = n_nationkey
and n_regionkey = r_regionkey
and r_name = 'EUROPE'
and ps_supplycost = (
select
min(ps_supplycost)
from
partsupp,
supplier,
nation,
region
where
p_partkey = ps_partkey
and s_suppkey = ps_suppkey
and s_nationkey = n_nationkey
and n_regionkey = r_regionkey
and r_name = 'EUROPE'
)
order by
s_acctbal desc,
n_name,
s_name,
p_partkey;
执行 SQL,并对表lineitem中的数据进行查询并记录执行时间。

SQL 执行能力分析
当不开启并行执行时,执行时间约为 1.44s,开启 8 个并行执行后,执行时间为 397.7ms,执行时间更短。 OceanBase 基于分布式架构,在保障高性能的交易处理同时,能够完成实时分析、跑批等分析场景,在不影响 OLTP 能力的情况下,并最大程度降低数据冗余,帮企业大幅降低总成本。
说明
上述数据仅供参考,实际数值请以您的实际实验结果为准。
后续操作
如果想体验更多 OB Cloud 的功能,您可以使用公网地址连接数据库后体验,详情参见使用公网地址连接数据库。