índice de expressão - Expression index
Um índice de expressão , também conhecido como um índice de base de função , é uma base de dados de índice que é construída sobre uma expressão genérica, em vez de uma ou mais colunas . Isso permite que os índices a serem definidos para condições de consulta comuns que dependem de dados em uma tabela, mas não são realmente armazenados na tabela.
Um uso comum para um índice de expressão é apoiar maiúsculas e minúsculas pesquisa ou limitações. Por exemplo, se um site quer fazer nomes de usuário maiúsculas e minúsculas, mas ainda preservar o caso como originalmente introduzida pelo utilizador, um índice pode ser criado na representação minúscula do nome do usuário:
CREATE INDEX users__last_name_lower ON users( lower( last_name ) );
Isso vai criar um índice exclusivo na "inferior (last_name)". Quaisquer dúvidas que pesquisa sobre "inferior (last_name)" poderia, então, fazer uso desse índice:
SELECT user_id FROM users WHERE lower( last_name ) = lower( 'Smith' );
suporte de banco de dados
Principais bases de dados que suportam índices de expressão incluem: DB2 (desde a versão 10.5), banco de dados Oracle (8i desde lançamento.) E PostgreSQL (desde pelo menos a versão 7).