具有基于函数的索引的虚拟列的预期用例是什么?
我问的原因(新手):
我一直在探索用于预先计算表中列的选项。例如,在道路表中,使用区域表中的空间相交区域编号填充字段。更多信息在这里:计算字段的选项。
我的经验是空间查询通常很慢——无论是使用 Oracle 的 SDO_GEOMETRY 数据类型/函数还是使用用户定义的对象类型,如 Esri 的 ST_GEOMETRY 数据类型/函数。因此,我确实希望预先计算该计算——以避免每次使用查询时不断进行昂贵的计算。
起初,我很想用基于函数的索引创建一个虚拟列。但是现在(根据其他人的意见),我开始怀疑使用基于函数的索引预计算列可能不适合 FBI。相反,我想知道使用触发器简单地计算表中的字段是否是更好的选择。(我知道物化视图也是一种选择。但我没有 CREATE MATERIALIZED VIEW 权限。)
所以,长话短说,我怀疑虚拟专栏和 FBI 不适合我的用例。话虽如此,虚拟专栏和 FBI 的正确用例是什么?