Los índices pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros eficiente.
Esto permite almacenar en memoria principal los índices por completo, lo que permite realizar más rápida la búsqueda de la dirección física del registro en las tablas.
Algunas bases de datos amplían la potencia del indexado al permitir que los índices sean creados de funciones o expresiones.
Por ejemplo, un índice puede ser creado sobre la función upper(apellido), que almacenaría en el índice solamente las versiones mayúsculas del campo apellido.
Otra opción a veces soportada, es el uso de índices "filtrados", donde las entradas del índice son creadas solamente para los registros que satisfagan una cierta expresión condicional.