---
title: 物化视图自动刷新慢问题排查-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于物化视图自动刷新慢问题排查相关的常见问题和使用技巧，帮助您快速解决物化视图自动刷新慢问题排查的难题。
---
切换语言

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

划线反馈

# 物化视图自动刷新慢问题排查

更新时间：2026-07-07 12:56

适用版本： V4.0.x、V4.1.x、V4.2.x、V4.3.x、V4.4.x 内容类型：Troubleshoot  

## 问题现象

物化视图自动刷新任务执行缓慢。

## 关键信息

### 1. 查看正在运行的物化视图刷新任务

通过查询 `CDB_MVIEW_RUNNING_JOBS` 系统视图，可以获取当前正在运行的物化视图刷新任务及其启动时间，以判断任务已执行的时长。

```sql
SELECT *
FROM oceanbase.CDB_MVIEW_RUNNING_JOBS;

```

### 2. 获取慢会话的详细信息与执行计划

根据上一步查询到的 `session_id`，进一步获取该会话正在执行的语句及其执行计划。

- **查看会话状态与执行的 SQL**

  ```sql
  SELECT *
  FROM __all_virtual_session_info
  WHERE id = <session_id> \G

  ```
 - **获取该会话当前活跃的执行计划**

  ```sql
  SELECT
      sql_id,
      DBMS_XPLAN.DISPLAY_ACTIVE_SESSION_PLAN(A.session_id, 'all', A.svr_ip, A.svr_port)
  FROM (
      SELECT
          id AS session_id,
          svr_ip,
          svr_port,
          sql_id
      FROM oceanbase.__all_virtual_session_info
      WHERE id = <session_id>
  ) A;

  ```

### 3. 版本注意事项

在 OceanBase 4.3.5 BP4 及之前的版本中，通过上述方法查询执行计划时，`REAL.ROWS` 和 `REAL.TIME` 字段可能显示为 0，即使语句正在实际执行。这属于已知的显示问题，不影响对执行计划本身的分析。

## 问题原因

物化视图刷新语句使用了错误的执行计划，例如在大表关联场景下使用了低效的 Nested Loop Join。

## 问题的风险及影响

NA

## 适用版本

OceanBase 数据库 V4.x 版本。

## 解决方法

可通过 Hint 干预物化视图刷新语句的执行计划，使其在大表关联场景下优先选择 HASH JOIN，以提升执行效率。

在物化视图定义或刷新语句中，可使用 Hint 指定执行计划。例如：

```sql
/*+ USE_HASH(t_reconciliation_pay_order_view_asia_1) PARALLEL(AUTO) */

```

## 规避方式

NA

上一篇

[老引擎下 DBLink 反拼新增的超时参数设置未正确序列，在 PX 执行时出现反拼语法报错](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002308425)

下一篇

[Oracle 模式下 DBLINK 查询触发 ORA-00600 [4043]](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006417231) ![有帮助](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) 咨询热线
