Disponible con una licencia Standard o Advanced.
El optimizador del sistema de administración de bases de datos usa estadísticas de base de datos para seleccionar el plan óptimo de ejecución para las consultas. Para mantener el rendimiento de las consultas, debe actualizar las estadísticas cuando el contenido de una tabla cambie de manera significativa; por ejemplo, después de cargar un gran número de registros en ella o de realizar muchas modificaciones en la tabla.
Se pueden actualizar las estadísticas de los siguientes tipo de tablas e índices:
- La tabla seleccionada para analizar y sus índices asociados.
- Las tablas delta de tablas y clases de entidad versionadas y los índices de las tablas delta
- Las tablas de archivo histórico de los datasets habilitados para archivado y los índices de las tablas de archivo
- Tablas del sistema de geodatabase
- Cuando se analiza una clase de entidad que utiliza almacenamiento de geometría binaria de sde, también se actualizan las estadísticas en la tabla de entidades, en la tabla de índices espaciales y en los índices de estas tablas.
En ArcGIS existen varios métodos para actualizar las estadísticas. Estos se describen en las secciones siguientes:
Utilice el comando Analizar
Puede utilizar el comando Analizar en ArcMap para actualizar las estadísticas en datasets específicos que puede seleccionar directamente en el árbol de catálogo. Debe ser el propietario del dataset para actualizar las estadísticas.
- Inicie ArcMap o ArcCatalog.
-
Bajo Conexiones de base de datos en el árbol de Catálogo, conéctese a la base de datos o geodatabase corporativa que contiene el dataset en el que desea actualizar las estadísticas.
Asegúrese de conectarse como el propietario del dataset.
- Haga clic con el botón derecho del ratón en el árbol de catálogo.
Puede ser un dataset de entidades, una clase de entidad, una tabla, un catálogo de ráster, un dataset ráster o un dataset de mosaico.
- Señale Administrar y haga clic en Analizar.
Las estadísticas se actualizan de las tablas y los índices en este dataset como se describe en el comienzo de este tema.
Utilizar la herramienta Analizar datasets
Para actualizar las estadísticas, puede utilizar la herramienta de geoprocesamiento Analizar datasets (ubicada en el conjunto de herramientas Administración de geodatabase de la caja de herramientas Administración de datos). Use esta herramienta en lugar del comando Analizar en ArcMap si desea actualizar las estadísticas de varios datasets a la vez, si desea elegir las tablas concretas que se van a analizar (por ejemplo, si solo desea actualizar las estadísticas de las tablas delta) o si desea actualizar las estadísticas en las tablas de sistema de la geodatabase.
Debe ejecutar la herramienta como propietario de las tablas que desea analizar. En el caso de las tablas del sistema de geodatabase, debe ejecutar la herramienta como administrador de la geodatabase. Las estadísticas de las tablas del sistema de geodatabase deberían actualizarse después de agregar varias tablas o clases de entidad nuevas a la geodatabase, de realizar un gran número de ediciones versionadas o de comprimir la geodatabase.
- Inicie un cliente de ArcGIS Desktop y conéctese a la geodatabase que contiene las tablas cuyas estadísticas desee actualizar.
Conéctese como el propietario de las tablas que se van a analizar.
- Abra la herramienta de geoprocesamiento Analizar datasets.
Puede escribir el nombre de la herramienta en el campo Buscar para buscar la herramienta y abrirla, o buscar la herramienta en el conjunto de herramientas Administración de geodatabase de la caja de herramientas Administración de datos.
- Use el archivo de conexión de base de datos que ha creado en el paso 1 como espacio de trabajo de entrada.
- Compruebe las tablas que desea analizar:
- Si desea que las estadísticas se actualicen para las tablas base seleccionadas, deje activada la casilla Analizar tablas base para los datasets seleccionados.
- Active Analizar las tablas delta para los datasets seleccionados para actualizar las estadísticas en las tablas de adiciones y eliminaciones de los datasets versionados.
- Active Analizar tablas de archivos para los datasets seleccionados para actualizar las estadísticas en las tablas de datasets del archivo histórico que están habilitadas para el archivado.
- Marque Incluir tablas del sistema para actualizar las estadísticas de las tablas del sistema de geodatabase. Tenga en cuenta que solo se puede ejecutar si está conectado a la geodatabase como el administrador de la geodatabase.
- Haga clic en Aceptar.
Se actualizan las estadísticas de las tablas elegidas y sus índices.
Ejecutar un script de Python
Puede invocar la función AnalyzeDatasets_management en un script de Python para actualizar las estadísticas en las tablas base, las tablas delta, las tablas de archivo y las tablas de sistema de geodatabase. Al igual que ocurre con la herramienta Analizar datasets, debe ejecutar la función AnalyzeDatasets_management como propietario de las tablas que está analizando.
Cuando ejecute el siguiente script de Python, especifique un archivo de conexión de base de datos (archivo .sde). El script actualiza las estadísticas de todas las tablas que pertenecen al usuario especificado en la conexión.
Por ejemplo, para ejecutar esta secuencia de comandos en Linux utilizando el archivo de conexión de base de datos entgdb.sde que se encuentra en /usr/connections, escriba lo siguiente:
./ AnalyzeDatasets.py /usr/connections/entgdb.sde
Si quiere ejecutar este script para actualizar las estadísticas de las tablas del sistema, especifique un archivo de conexión que se conecte como administrador de la geodatabase.
# Name: AnalyzeDatasets.py
# Description: analyzes all datasets in an enterprise geodatabase
# for a given user.
# Import system modules
import arcpy
import os
# set workspace
# the user in this workspace must be the owner of the data to analyze.
workspace = arcpy.GetParameterAsText(0)
# set the workspace environment
arcpy.env.workspace = workspace
# NOTE: Analyze Datasets 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 analyze datasets
# Note: to use the "SYSTEM" option the workspace user must be an administrator.
arcpy.AnalyzeDatasets_management(workspace, "NO_SYSTEM", dataList, "ANALYZE_BASE","ANALYZE_DELTA","ANALYZE_ARCHIVE")
print("Analyze Complete")