Volver a generar los índices (Administración de datos)

Nivel de licencia:BasicStandardAdvanced

Resumen

Actualiza índices de datases y tablas del sistema almacenadas en una geodatabase corporativa. Esta herramienta se usa en geodatabases corporativas para volver a genera un atributo existente o índices espaciales. Los índices obsoletos pueden llevar a un mal rendimiento de la geodatabase.

Uso

Sintaxis

RebuildIndexes_management (input_database, include_system, {in_datasets}, {delta_only})
ParámetroExplicaciónTipo de datos
input_database

La base de datos corporativa que contiene los datos que se actualizarán.

Workspace
include_system

Indica si se volverán a generar los índices en los estados y en las tablas de linajes del estado.

NotaNota:

Debe ser el administrador de la geodatabase para que esta opción se ejecute correctamente.

Esta opción solo se aplica a geodatabases. Si el espacio de trabajo de entrada es una base de datos, esta opción se ignora.

  • NO_SYSTEM No se volverán a generar índices en los estados y en la tabla de linajes del estado. Esta es la opción predeterminada.
  • SYSTEM Los índices se volverán a generar en los estados y en las tablas de linajes del estado.
Boolean
in_datasets
[in_datasets,...]
(Opcional)

Nombres de los datasets a los que se les volverán a generar los índices. Los nombres de los datasets usan rutas correspondientes al espacio de trabajo de entrada; las rutas completas no se aceptan como entrada.

Dataset
delta_only
(Opcional)

Indica cómo se volverán a generar los índices en los datasets seleccionados. Esta opción no tiene efecto si input_datasets está vacío.

Esta opción solo se aplica a geodatabases. Si el espacio de trabajo de entrada es una base de datos, esta opción se ignora.

  • ALLSe volverán a generar los índices en todos los índices de los datasets seleccionados. Esto incluye índices espaciales así como índices de atributos creados por el usuario y cualquier índice mantenido por medio de una geodatabase para el dataset.
  • ONLY_DELTASSolamente se volverán a generar índices para las tablas delta de los datasets seleccionados. Esta opción se puede usar para casos donde las tablas de negocios para los datasets seleccionados no se actualizan a menudo y existe un volumen alto de ediciones en las tablas delta. Esta es la opción predeterminada.
Boolean

Ejemplo de código

Ejemplo 1 de RebuildIndexes (ventana de Python)

El siguiente ejemplo muestra cómo volver a generar los índices usando la ventana Python en ArcGIS.

# Import system modules
import arcpy

arcpy.RebuildIndexes_management("Database Connections/GDB@DC@server.sde", "NO_SYSTEM","db1.GDB.Roads;db1.GDB.Parcels", "ALL")
Ejemplo 2 de RebuildIndexes (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo volver a generar los índices en una secuencia de comandos independiente.

# Name: RebuildIndexes.py
# Description: rebuilds indexes on delta tables for all datasets in an
# enterprise geodatabase

# Import system modules
import arcpy, os

# set workspace
workspace = arcpy.GetParameterAsText(0)

# set the workspace environment
arcpy.env.workspace = workspace

# NOTE: Rebuild indexes can accept a Python list of datasets.

# Get a list of all the datasets the user has access to.
# First, get all the stand alone tables, feature classes and rasters.
dataList = arcpy.ListTables() + arcpy.ListFeatureClasses() + arcpy.ListRasters()

# Next, for feature datasets get all of the datasets and featureclasses
# from the list and add them to the master list.
for dataset in arcpy.ListDatasets("", "Feature"):
    arcpy.env.workspace = os.path.join(workspace,dataset)
    dataList += arcpy.ListFeatureClasses() + arcpy.ListDatasets()

# reset the workspace
arcpy.env.workspace = workspace

# Get the user name for the workspace
userName = arcpy.Describe(workspace).connectionProperties.user.lower()

# remove any datasets that are not owned by the connected user.
userDataList = [ds for ds in dataList if ds.lower().find(".%s." % userName) > -1]

# Execute rebuild indexes
# Note: to use the "SYSTEM" option the workspace user must be an administrator.
arcpy.RebuildIndexes_management(workspace, "NO_SYSTEM", userDataList, "ALL")
print 'Rebuild Complete'

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: No
ArcGIS for Desktop Standard: Sí
ArcGIS for Desktop Advanced: Sí
5/12/2014