ArcGIS utiliza los índices para buscar datos rápidamente. Los índices de atributos se utilizan para buscar registros que coincidan con una consulta de atributos y los índices espaciales se utilizan para buscar entidades que coincidan con una consulta espacial.
Los índices de atributos pueden acelerar las uniones y otras consultas de atributos en tablas, clases de entidad, shapefiles o clases de relación de atributos. 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, clase de entidad, shapefile o clase de relación con atributos, puede crear índices de atributos para las columnas que consulta con frecuencia. Se recomienda crear índices en columnas que contengan valores únicos o casi únicos.
Cada índice que agregue ralentiza ligeramente las ediciones en la tabla o clase de entidad. Cada vez que edita una clase de entidad o una tabla que contiene un índice de atributos, ArcGIS o el sistema de administración de bases de datos (DBMS) actualiza el índice. Evite crear un índice en una columna que se edite con más frecuencia de lo que se consulta o para columnas que contengan pocos valores distintos, ya que estos índices podrían afectar negativamente al rendimiento. Por ejemplo, crear un índice en una columna que solo contenga los valores Sí o No no mejoraría el rendimiento de la consulta.
Puede crear índices de atributos desde el cuadro de diálogo Propiedades en ArcGIS Pro o con la herramienta de geoprocesamiento Agregar índice de atributos. Una vez agregado un índice, puede eliminarlo y volver a agregarlo en cualquier momento.
Los índices de atributos se pueden crear para columnas simples o múltiples; pueden ser únicos; y para algunas geodatabases, se pueden crear en orden ascendente o descendente. En esta página de ayuda se proporciona una breve introducción sobre estos conceptos. Si elige una estrategia de indexado para una geodatabase corporativa, consulte la documentación del DBMS para obtener una guía más detallada.
Crear un índice de atributos en el panel Catálogo
Puede crear índices de atributos para una o varias columnas de una tabla, clase de entidad, shapfile o clase de relación con atributos haciendo clic con el botón derecho en su nombre en el panel Catálogo y accediendo al cuadro de diálogo Propiedades.
Nota:
Al abrir la tabla de atributos en ArcGIS Pro, las columnas indexadas tienen un asterisco (*) junto a su nombre.
- En el panel Catálogo, haga clic con el botón derecho en la tabla, clase de entidad, shapefile o clase de relación con atributos para el cual desea crear un índice y seleccione Propiedades.
- Haga clic en la pestaña Índices.
La sección Índice de atributos muestra los índices existentes para este dataset.
Nota:
Al crear una tabla o una clase de entidad en ArcGIS, ArcGIS agrega un índice único a la columna de Id. de objeto. El índice se denomina FDO_OBJECTID en geodatabases de archivos y geodatabases móviles. En las geodatabases corporativas, el índice se denomina r_#_sde_rowid_uk. La geodatabase utiliza el índice para identificar de forma única cada entidad o fila y no se puede eliminar.
- Para agregar un índice de atributo, haga clic en Agregar.
- En Nombre, escriba un nombre para el nuevo índice.
- Opcionalmente, marque la casilla de verificación Único si los valores de campo son únicos. Marque la casilla de verificación Ascendente para crear un índice ascendente.
Los ajustes Único y Ascendente no se utilizan en geodatabases de archivos y se pueden dejar sin marcar.
- En la lista Campos disponibles, haga clic en la columna para el que desea crear este índice y haga clic en la flecha para mover el campo a la lista Campos seleccionados.
Para aplicar el índice a varias columnas, repita este paso para cada columna que desee indexar.
- Opcionalmente, si se han seleccionado varias columnas, utilice las flechas hacia arriba y hacia abajo para cambiar el orden de las columnas en el índice.
Consulte la sección Índices de una o varias columnas a continuación para obtener información sobre cómo determinar qué orden utilizar.
- Haga clic en Aceptar para generar el índice.
- Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades.
Crear un índice de atributos mediante una herramienta de geoprocesamiento
El conjunto de herramientas Índices de la caja de herramientas Administración de datos proporciona dos herramientas de índice de atributos: una para crear un índice de atributos y otra para quitar un índice de atributos.
La herramienta Agregar índice de atributos agrega un índice simple o multicolumna a una tabla, clase de entidad o clase de relación de atributos existente.
La herramienta Quitar índice de atributos elimina un índice simple o multicolumnas de una tabla, una clase de entidad o una clase de relación de atributos.
Nombres de índice de atributos
Cuando se nombra un índice, se recomienda dar al índice un nombre que refleje qué tabla o qué columna 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 IDX al principio o al final del nombre. Por ejemplo, un índice en una tabla de direcciones se puede llamar ADRS_APK_IDX, donde ADRS indica que este índice se encuentra en la tabla de direcciones, APK denota la columna que se está indexando e IDX indica 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
No hay restricciones en cuanto a cómo nombrar un índice de atributos en una geodatabase de archivos.
ArcGIS impone un límite de 16 caracteres para los nombres de índices de atributos.
Índices únicos
Si cada valor de atributo de una columna es único, puede crear el índice como único. Esto reduce el tiempo que se tarda en consultar esta columna de atributos, ya que la base de datos puede dejar de buscar después de encontrar el primer valor coincidente.
Cuando se define en varias columnas, puede crear un índice único si la combinación de valores en todas las columnas es única.
Nota:
No puede editar una clase de entidad que se encuentre en un dataset de entidades con otra clase de entidad que contenga un índice único en una columna definida por el usuario.
Índices ascendentes o descendentes
Al crear un índice, puede crear el índice como ascendente o descendente. Un índice ascendente se mantiene en orden ascendente. Por ejemplo, los valores de nombre de ciudad de Athens, Berlin, London y Paris aparecerían en ese orden en un índice ascendente, mientras que en un índice descendente aparecerían como Paris, London, Berlin y Athens.
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 o 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 columnas juntas 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 columna.
El orden en que aparecen las columnas 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 solo la columna A que lo que será para las consultas que incluyen solo la columna B.
Decidir si crear un índice multicolumnas, un índice de una columna o una combinación de ambos tiene desventajas, como se muestra en el siguiente ejemplo.
Si a veces realiza consultas sobre la columna A, a veces solo sobre la columna B y, a veces, ambas columnas, puede elegir cualquiera de los siguientes enfoques:
- Crear dos índices separados en A y B.
- Crear un índice multicolumna en A y B. Este índice generalmente será más eficiente para las consultas que incluyen ambas columnas. Para las consultas referidas solo a A, este índice será más lento que un índice en A solamente. Este índice sería de poco uso para las consultas que solo se refieren a B. Para compensarlo, podría crear un índice adicional en B.
- Cree los tres índices: un índice en A, uno en B y un índice multicolumna en A y B. Tendría sentido si los tres tipos de consultas son comunes y la tabla se consulta mucho más de lo que se actualiza.