---
title: OBProxy 内存中存放的执行计划与 OceanBase 数据库中 Plan Cache 存放的执行计划区别-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OBProxy 内存中存放的执行计划与 OceanBase 数据库中 Plan Cache 存放的执行计划区别相关的常见问题和使用技巧，帮助您快速解决 OBProxy 内存中存放的执行计划与 OceanBase 数据库中 Plan Cache 存放的执行计划区别的难题。
---
切换语言

- 简体中文
- English

划线反馈

# OBProxy 内存中存放的执行计划与 OceanBase 数据库中 Plan Cache 存放的执行计划区别

更新时间：2025-05-23 06:51

适用版本： V1.4.x、V2.1.x、V2.2.x、V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x、V4.3.x 内容类型：TechNote  

## 存储位置

**OBProxy：** OBProxy 内存中存放的执行计划主要是为了加速 SQL 请求的路由和处理，通常不会存储完整的执行计划，而是存储一些轻量级的元数据或路由信息。

**OceanBase 数据库：** Plan Cache 是存储在 OceanBase 数据库服务器上的，每个租户在每台服务器上都有一个独立的 Plan Cache，用于存储完整的执行计划。

## 功能

**OBProxy：** OBProxy 的主要功能是路由 SQL 请求到正确的 OceanBase 服务器，并进行负载均衡。它可能会缓存一些简单的路由信息或 SQL 请求的元数据，但不会存储复杂的执行计划。

**OceanBase 数据库：** Plan Cache 的主要功能是缓存 SQL 的执行计划，以便在下次执行相同的 SQL 时直接使用，避免重复的优化过程。

## 内容

**OBProxy：** OBProxy 内存中存放的内容通常是与 SQL 请求相关的路由信息、负载均衡策略等，而不是完整的执行计划。

**OceanBase 数据库：** Plan Cache 中存放的是完整的执行计划，包括物理算子、预估的行数、代价等信息。

## 生命周期

**OBProxy：** OBProxy 内存中的缓存信息通常是短暂的，可能会根据负载均衡策略或路由规则的变化而更新或淘汰。

**OceanBase 数据库：** Plan Cache 中的执行计划会根据 SQL 的执行频率、内存使用情况等进行自动淘汰或手动刷新。

## 使用场景

**OBProxy：** OBProxy 的缓存主要用于加速 SQL 请求的路由和处理，适用于高并发的 SQL 请求场景。

**OceanBase 数据库：** Plan Cache 主要用于减少 SQL 执行计划的生成次数，适用于复杂的 SQL 查询和优化场景。

## 适用版本

OceanBase 数据库所有版本。

Previous

[压测期间出现大量 show variables SQL 导致 CPU 超过 50% 的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006346772)

Next

[OceanBase 数据库 V4.x 版本中性能调优参数](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003575659) ![有帮助](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) 咨询热线
