Disponible con una licencia Standard o Advanced.
Los índices de atributo pueden acelerar las consultas de atributo en las tablas y las clases de entidad. Un índice de atributo es una ruta alternativa utilizada por ArcGIS para recuperar un registro de una tabla. Para la mayoría de los tipos de consultas de atributos, es más rápido buscar un registro con un índice que comenzar por el primer registro y buscar en toda la tabla.
Una vez que tenga datos en una tabla o clase de entidad, cree índices de atributos para los campos sobre los cuales realiza consultas con frecuencia. Cree sólo los índices que sean realmente necesarios, ya que cada índice que agrega lentifica levemente las ediciones de la clase de entidad. Cada vez que edita la clase de entidad, ArcGIS también debe actualizar los índices. Si necesita editar frecuentemente un campo, evite, en lo posible, crear un índice para él. Una vez agregado un índice, se puede eliminar y volver a agregar en cualquier momento.
Los índices de atributos se pueden crear de distintas maneras. Se pueden crear para campos simples o múltiples; pueden ser únicos; y para algunas geodatabases, se pueden crear en orden ascendente o descendente. Este tema sólo proporciona una breve introducción a estos conceptos. Si elige una estrategia de indexado para una geodatabase, consulte la documentación de DBMS para obtener una guía más detallada.
Crear índices de atributos utilizando geoprocesamiento
El conjunto de herramientas Índices en la caja de herramientas Administración de datos brinda dos herramientas principales para crear y quitar índices de atributos.
La herramienta Agregar índice de atributos agrega un índice simple o multicolumnas a una tabla, una clase de entidad o una clase de relación de atributo existente. Esto está disponible con cualquier licencia de ArcGIS, pero solo se puede utilizar en geodatabases corporativas si se dispone de una licencia estándar o avanzada de ArcGIS for Desktop.
La herramienta Quitar índice de atributos quita un índice simple o multicolumnas de una tabla, una clase de entidad o una clase de relación de atributo existente. Esto también se encuentra disponible con cualquier licencia de ArcGIS.
Nombres de índice de atributos
Cuando se nombra un índice en una geodatabase corporativa, se recomienda dar al índice un nombre que refleje la tabla o incluso la columna que indexa. Sin embargo, si el nombre de la tabla que se está indexando cambia, es probable que el nombre del índice que eligió ya no indique la tabla que está indexando. Algunas organizaciones creen que es útil dar al índice un nombre que indique que se trata de un índice, como por ejemplo incorporar IND al principio o al final del nombre. Por ejemplo, un índice en una tabla de direcciones se puede llamar DIR_APK_IND, donde DIR indica que este índice se encuentra en la tabla de direcciones, APK denota la columna que se está indexando e IND hace que sea evidente que se trata de un índice.
Al igual que para los nombres de tablas, se deben respetar las siguientes características para los nombres de índices en las geodatabases:
- deben ser únicos en la base de datos
- deben comenzar con una letra
- No pueden contener espacios
- no pueden contener palabras reservadas
ArcGIS impone un límite de 16 caracteres para la longitud de los nombres de índices de atributos. El límite se basa en la longitud mínima permitida entre las bases de datos compatibles para facilitar la distribución y el uso compartido de los datos entre distintas geodatabases.
Índices únicos
Cuando crea un índice, se le ofrece la opción de crear el índice como único. Elija esta opción si el atributo tiene valores únicos en cada registro. Esto acelerará la ejecución de la consulta contra este atributo porque la base de datos puede detener la búsqueda después de encontrar el primer valor coincidente.
Índices ascendentes vs. descendentes
Cuando crea un índice, se le ofrece la opción de crear el índice como ascendente o, si no se marca la opción, como descendente. Un índice ascendente se mantiene en orden ascendente. Por ejemplo, los nombres de ciudades Atenas, Berlín, Londres y París aparecerían en ese orden en un índice ascendente, mientras que en un índice descendente aparecerían como París, Londres, Berlín y Atenas.
En la mayoría de los casos, la dirección en la se mantiene el índice no hace la diferencia (o hace muy poca) en cuanto a la velocidad de recuperación, porque para la mayoría de las consultas, los índices se atraviesan con la misma eficiencia tanto hacia adelante como hacia atrás.
Índices simples vs. multicolumnas
Los índices se pueden crear para una columna o para múltiples columnas en una geodatabase. Los índices multicolumnas son útiles si especifica frecuentemente dos o tres campos juntos en una consulta. En este caso, el índice multicolumnas puede proporcionar un rendimiento de consulta más rápido que dos o tres índices separados, uno en cada campo.
El orden en que aparecen los campos en un índice multicolumnas es importante. En un índice multicolumnas, en donde la columna A precede a la columna B, la columna A se utilizará para conducir la búsqueda inicial. Además, tal índice será mucho más útil para las consultas que incluyen sólo la columna A que lo que será para las consultas que incluyen sólo la columna B.
Decidir si crear un índice multicolumnas, un índice de una columna o una combinación de ambos tiene desventajas y la mejor decisión rara vez es evidente. Por lo general, sin embargo, existe una variedad de soluciones que pueden funcionar. Por ejemplo, si a veces realiza consultas sólo sobre la columna A, a veces sólo sobre la columna B y a veces sobre ambas columnas, puede elegir cualquiera de los siguientes enfoques:
- Crear dos índices separados en A y B.
- Crear un índice multicolumnas en A y B. Este índice generalmente será más eficiente para las consultas que incluyan ambas columnas. Para las consultas referidas sólo a A, este índice será más lento que un índice en A solamente. Este índice tendrá poco uso para las consultas que sólo involucren a B. Para compensarlo, puede crear un índice adicional en B.
- Crear los tres índices: un índice en A, uno en B y un índice multicolumnas en A y B. Esto tendrá sentido si los tres tipos de consultas son comunes y la tabla se consulta mucho más de lo que se actualiza.