Qual é o caso de uso pretendido para colunas virtuais com um índice baseado em função?
A razão pela qual eu pergunto (novato):
Eu tenho explorado opções para pré-computar colunas em uma tabela. Por exemplo, em uma tabela de estradas, preencha um campo usando o número da zona de interseção espacial de uma tabela de zonas. Mais informações aqui: Opções para campos de computação.
Minha experiência é que as consultas espaciais geralmente são lentas — seja usando o tipo de dados/funções SDO_GEOMETRY da Oracle ou usando um tipo de objeto definido pelo usuário, como o tipo de dados/funções ST_GEOMETRY da Esri. Então, eu definitivamente quero pré-computar esse cálculo — para evitar fazer cálculos caros constantemente toda vez que a consulta for usada.
No início, fiquei tentado a criar uma coluna virtual com um índice baseado em função. Mas agora (com a entrada de outros), estou começando a me perguntar se pré-computar uma coluna usando um índice baseado em função pode não ser o uso correto para FBIs. Em vez disso, estou querendo saber se simplesmente calcular um campo na tabela usando um gatilho pode ser uma opção melhor. (Estou ciente de que as visualizações materializadas também são uma opção. Mas não tenho privilégios CREATE MATERIALIZED VIEW.)
Então, para encurtar a história, suspeito que uma coluna virtual e um FBI não sejam apropriados para o meu caso de uso. Com isso dito, qual é o caso de uso certo para uma coluna virtual e um FBI?