Articulo de referencia

Índice de expresiones

En informática , un índice de expresión , también conocido como índice basado en funciones , es un índice de base de datos que se construye a partir de una expresión genérica, e...

En informática , un índice de expresión , también conocido como índice basado en funciones , es un índice de base de datos que se construye a partir de una expresión genérica, en lugar de una o más columnas . Esto permite definir índices para condiciones de consulta comunes que dependen de datos en una tabla, pero que en realidad no se almacenan en ella.

Un uso común de un índice de expresiones es admitir búsquedas o restricciones que no distingan entre mayúsculas y minúsculas . Por ejemplo, si un sitio web desea que los nombres de usuario no distingan entre mayúsculas y minúsculas, pero que conserven el formato original introducido por el usuario, se puede crear un índice en la representación en minúsculas del nombre de usuario:

CREATE INDEX users__last_name_lower ON users( lower( last_name ) );

Esto creará un índice único en "lower(last_name)". Cualquier consulta que busque en "lower(last_name)" podrá utilizar ese índice:

SELECT user_id FROM users WHERE lower( last_name ) = lower( 'Smith' );

Soporte de base de datos

Las principales bases de datos que admiten índices de expresiones incluyen: IBM Db2 (desde la versión 10.5 [ 1 ] ), Oracle Database (desde la versión 8i. [ 2 ] ) y PostgreSQL (desde al menos la versión 7 [ 3 ] ).

Referencias

  1. "Novedades de DB2 10.5 para Linux, UNIX y Windows" . Consultado el 26 de agosto de 2015 .
  2. "Índices basados ​​en funciones de Oracle" . Consultado el 26 de agosto de 2015 .
  3. "PostgreSQL - Guía del usuario - Capítulo 7. Índices y claves" . Consultado el 26 de agosto de 2015 .