Índices de atributos en la geodatabase

Disponible con una licencia Standard o Advanced.

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 de atributos, puede crear índices de atributos para los campos sobre los cuales realiza consultas con frecuencia. Lo ideal sería crear índices en columnas con valores únicos o casi únicos. Cree solo los índices que sean realmente necesarios, ya que cada índice que agrega lentifica levemente las ediciones de la clase de entidad. Cada vez que edite una clase de entidad que contenga un índice de atributos, ArcGIS o el DBMS realizará el mantenimiento en el índice. Evite crear un índice en un campo que se edite con frecuencia o para campos que contengan pocos valores distintos, como Yes o No, ya que estos índices podrían ser contraproducentes para el rendimiento.

Los índices de atributos se pueden crear accediendo al cuadro de diálogo Propiedades de ArcGIS Pro o con la herramienta de geoprocesamiento Agregar índice de atributos. 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 solo proporciona una breve introducción a 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 índices de atributos en ArcGIS Pro

Los índices de atributos se pueden crear para un solo campo o para varios en un dataset haciendo clic con el botón derecho en el nombre de tabla o clase de entidad de geodatabase en el panel Catálogo y accediendo al cuadro de diálogo Propiedades.

  1. 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.
  2. Seleccione la pestaña Índices.

    La sección Índice de atributos muestra los índices existentes para este dataset.

    Nota:

    La geodatabase crea y utiliza el índice FDO_OBJECTID para identificar de forma única cada entidad y no se puede eliminar. Si hace clic en FDO_OBJECTID, la sección Fields muestra el campo para el cual se creó este índice.

  3. Para agregar un nuevo índice de atributos, haga clic en Agregar.
  4. Para Nombre, escriba el nombre para el índice nuevo.
  5. 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. El ajuste Ascendente no se utiliza en Oracle ni en SQL Server.

  6. Desde la lista Campos disponibles, haga clic en el campo o los campos para los que desea crear el índice.
    Nota:

    Los índices multicolumnas no son compatibles en las geodatabases de archivos.

  7. Haga clic en el botón de flecha hacia la derecha para mover los campos a la lista Campos seleccionados.
  8. Opcionalmente, si se han seleccionado varios campos, utilice las flechas hacia arriba y hacia abajo para cambiar el orden de los campos en el índice.
  9. Haga clic en Aceptar para generar el índice.
  10. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades.

Crear índices de atributos utilizando geoprocesamiento

El conjunto de herramientas Índices en la caja de herramientas Herramientas de administración de datos ofrece dos herramientas principales para crear y quitar índices de atributos.

El conjunto de herramientas Índices incluido en la caja de herramientas Herramientas de administración de datos

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. Está disponible con cualquier licencia de ArcGIS, pero solo se puede utilizar en geodatabases corporativas si se dispone de una licencia de ArcGIS Desktop Standard o Advanced.

La herramienta Eliminar índice de atributos quita un índice simple o multicolumna de una tabla, clase de entidad o clase de relación de atributos 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 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 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

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 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.

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 un campo definido por el usuario.

Nota:

La opción Único no se utiliza en las geodatabases de archivos y se puede dejar desactivada.

Í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 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.

Nota:

El ajuste Ascendente no se utiliza en Oracle, SQL Server ni en geodatabases de archivos y se puede dejar sin marcar.

Índices simples vs. multicolumnas

Las geodatabases de archivos no admiten índices multicolumnas. El cuadro de diálogo Propiedades no le permite especificar un índice multicolumnas. La herramienta Agregar índice de atributos no le permite especificar un índice multicolumna; aunque el índice que cree parece ser un índice multicolumna cuando se visualiza desde el cuadro de diálogo Propiedades del panel Catálogo, en realidad es un índice independiente en cada campo.

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 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 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 solo sobre la columna A, a veces solo 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 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.