---
title: NVL 函数索引未命中根因分析与处理方案-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于NVL 函数索引未命中根因分析与处理方案相关的常见问题和使用技巧，帮助您快速解决NVL 函数索引未命中根因分析与处理方案的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# NVL 函数索引未命中根因分析与处理方案

更新时间：2026-08-25 02:41

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

## 问题现象

在 OceanBase 数据库中创建包含特定函数（如 `NVL`）的函数索引后，执行匹配该函数条件的 SQL 语句时，优化器未命中函数索引，执行计划显示为全表扫描。

即使索引可用且统计信息正常，默认情况下优化器仍无法自动选择该函数索引参与查询范围（Query Range）提取。

直接绑定索引的计划，可以看到函数索引没有参与抽取 Query Range，并且被优化器改写成基列加 `CAST` 的形式。

## 问题原因

该现象属于优化器设计行为（By Design）。

在 4.6.0 以下版本中，优化器在执行阶段会默认触发 `simplify_expr` 表达式简化改写机制。该机制会将函数索引条件（如 `NVL("AGE",0)`）自动改写为基列加类型转换的形式（如 `cast(T1.AGE, NUMBER) = 20`）。

此改写导致生成列/函数索引匹配逻辑未能正确识别原函数形式，从而无法参与 Query Range 提取与索引选择。

## 关键信息

1. 执行计划的 Outline Data 或 Used Hint 中可见 `SIMPLIFY_EXPR` 标识。
 2. 绑定索引 Hint 查看执行计划时，可确认函数索引未被用于抽取 Query Range，且 Filter 条件已被改写为基列加 `CAST` 的形式。
 3. 关闭 `simplify_expr` 改写后，优化器可恢复默认索引选择能力，正确命中函数索引并参与 Range 提取。

## 问题的风险及影响

函数索引失效导致 SQL 执行计划退化为全表扫描，在数据量较大时可能引发严重的性能下降与 IO/CPU 资源消耗增加。

## 适用版本

- 受影响版本：4.6.0 以下版本
 - 修复版本：4.6.0 及以上

## 解决方法

1. **应急处理**：在 SQL 语句中绑定 Hint `/*+ NO_SIMPLIFY_EXPR */` 以关闭表达式简化改写，使优化器能够正确识别并使用函数索引。
 2. **彻底解决**：升级数据库至 4.6.0 及以上版本，默认即可正确命中函数索引。

修复后的版本，`NVL` 函数可以抽取 Query Range。

## 规避方式

1. **开发规范**：涉及函数索引的查询 SQL，建议显式添加 `/*+ INDEX(table_name index_name) */` 或 `/*+ NO_SIMPLIFY_EXPR */` Hint，保障执行路径稳定。
 2. **架构规划**：针对重度依赖函数索引的业务系统，建议提前规划升级至 4.6.0 及以上版本，利用改进的索引匹配机制规避优化器行为变更带来的性能波动。

Previous

[查询索引列的信息发现异常](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006802568)

Next

[OMS 4.3.2 Oracle 迁移至 OB MySQL 模式时 unique 索引异常转换](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006870441) ![有帮助](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) 咨询热线
