基于Oracle函数的索引

Sti*_*tig 1 oracle indexing

也许是一个愚蠢的问题,但使用基于函数的索引是否安全.我的意思是,当列更改时,索引立即更改?

xQb*_*ert 10

假设它们设置正确,是的.

概述:Oracle使用基于函数的索引在表上创建一个隐藏列,每次更改基于函数的索引的列时都会更新该列; 假设值是确定性的(有关详细信息,请参阅oracle链接).您可以通过查询系统对象all_tab_cols查看创建基于函数的索引的表来查看这些隐藏列.它们通常包含$,看起来像SYS_NC00005 $.

当你想要处理区分大小写或处理重复函数调用时经常使用它们,在这些函数调用上执行函数调用的开销的频率使得计算值一次并保留它的前期值导致性能增益.

补充阅读: