---
title: "支持复杂 SQL 处理，显著提升查询效率 - OB Cloud 云数据库 master | OceanBase 文档中心"
description: 支持复杂 SQL 处理，显著提升查询效率 OceanBase 的并行执行引擎和分布式事务处理机制，在面对复杂的 SQL 查询时， 数据量越大越复杂，执行效率相较于传统数据库越快。 本教程对导入的 TPC-H 样本数据进行单表查询和多表查询，并对比增加并行执行后的数据，您可自行体验其它 TPC-H 测试，更多内容参见 …
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*qbZXRo_94ZEAAAAAAAAAAAAADiGDAQ/original) OB Cloud 云数据库

# 支持复杂 SQL 处理，显著提升查询效率

更新时间：2026-06-09 17:53:45

OceanBase 的并行执行引擎和分布式事务处理机制，在面对复杂的 SQL 查询时， 数据量越大越复杂，执行效率相较于传统数据库越快。 本教程对导入的 TPC-H 样本数据进行单表查询和多表查询，并对比增加并行执行后的数据，您可自行体验其它 TPC-H 测试，更多内容参见[体验 Operational OLAP](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000639755)。

#### 说明

本篇教程也同步在 OB Cloud 控制台上线了交互式教程，可以跟随教程在真实的 OB Cloud 环境中进行互动体验，登录 [OB Cloud 控制台](https://console-cn.oceanbase.com/) 后，单击左侧导航栏的 **实践教程** 即可查看全部已上线的交互式教程。

## 概念介绍

### 并行执行

OceanBase 数据库的并行执行指的是在分布式架构下进行的并发处理。OceanBase 数据库采用了分布式架构，将数据分片存储在不同的节点上，通过数据分片和任务分片实现了数据和计算的并行处理。在OceanBase 中，每个节点都可以独立地执行任务，并且可以通过高速的网络互相通信，实现数据的交互和同步

## 前提条件

- 您拥有当前实例的实例管理员、数据读取和数据服务管理员权限，如无权限，可联系组织管理员进行添加。
 - 您有可用的事务型集群实例，请参考[创建租户](https://www.oceanbase.com/docs/common-oceanbase-cloud-10000000001780107)完成租户创建后，再参考下述步骤操作。
 - 您的环境中已存在可以使用的 MySQL 兼容模式租户和 MySQL 数据库和账号，并已对对数据库账号授读写权限。如需创建，详情参见[创建账号](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000001018091)和[创建数据库（仅 MySQL）](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000001018092)。

## 场景一：单表查询

1. 在实例列表页选择您的实例及租户，单击进入 **租户工作台**页面。
 2. 单击打开 **SQL 控制台** ，使用数据库账号登录 SQL 控制台，选择您的数据库`tutorialdb`。

   ![](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/420/zh/041507.png)
 3. 将下述 SQL 填入 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;

   ```
 4. 执行 SQL，并对表`lineitem`中的数据进行查询并记录执行时间。

   ![](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/420/zh/041801.png)

### SQL 执行能力分析

执行时间约为 315.73ms，执行速度是同等规格的 MySQL 实例的 3-5 倍。 OceanBase 基于分布式架构，在保障高性能的交易处理同时，能够完成实时分析、跑批等分析场景，在不影响 OLTP 能力的情况下，并最大程度降低数据冗余，帮企业大幅降低总成本。

#### 说明

上述数据仅供参考，实际数值请以您的实际实验结果为准。

## 场景二：多表查询

对表 part、supplier、partsupp、nation、region 进行聚合查询。

```sql
    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;

```

![](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/cloud/420/zh/041802.png)

执行如下命令，开启 8 个并行执行，加快运算，并记录计算时间。

```sql
    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 的功能，您可以使用公网地址连接数据库后体验，详情参见[使用公网地址连接数据库](https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000001346098)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
