您的位置:首页 > 数据库 > Oracle

oracle 性能优化操作十五: 基于函数的索引要求等式匹配

2015-01-12 09:08 459 查看
前几篇博客例子中,我们创建了基于函数的索引,但是如果执行下面的查询:

<span style="font-size:18px;">select * from emp where substr(ename,1,1)=’S’;</span>

得到的执行计划将还是(TABLE ACCESS FULL),因为只有当数据列能够等式匹配时,基于函数的索引才能生效,

这样对于这种索引的计划和维护的要求都很高。请注意,向表中添加索引是非常危险的操作,因为这将导致许多查询执行计划的变更。

然而,如果我们使用基于函数的索引就不会产生这样的问题,因为Oracle只有在查询使用了匹配的内置函数时才会使用这种类型的索引。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: