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 para las consultas. Para mantener el rendimiento de las consultas, actualice las estadísticas cuando el contenido de una tabla o clase de entidad 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 en una geodatabase corporativa:
- Tablas y clases de entidades definidas por el usuario y sus índices asociados
- Las tablas delta de tablas y clases de entidad registradas para el versionado tradicional y los índices de las tablas delta
- Las tablas de archivo histórico de tablas y clases de entidad habilitadas para el archivado de geodatabases y los índices de las tablas de archivo.
- Tablas del sistema de geodatabase
Nota:
La actualización de estadísticas de base de datos es una operación intensiva de entrada/salida (E/S). Actualice las estadísticas en el momento en que haya menor tráfico en la base de datos.
El administrador de la base de datos puede utilizar herramientas de base de datos para actualizar las estadísticas de la base de datos para las tablas y clases de entidad creadas por el usuario. Sin embargo, al actualizar las estadísticas de las tablas y clases de entidad de una geodatabase corporativa, el administrador de la base de datos también debe actualizar las estadísticas de las tablas internas correctas de la geodatabase que están relacionadas con ellas. Para garantizar que las estadísticas de estas tablas internas se actualizan, ejecute la herramienta de geoprocesamiento Analizar datasets o la función de AnalyzeDatasets_management de ArcPy.
Utilice también la herramienta de geoprocesamiento Analizar datasets o la función AnalyzeDatasets_management de ArcPy para actualizar las estadísticas de la base de datos para las tablas del sistema de geodatabase. Acualice las estadísticas de las tablas del sistema de geodatabase 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.
Debe ejecutar la herramienta o función como propietario de las tablas. En el caso de las tablas del sistema de geodatabase, el propietario es el administrador de la geodatabase.
Utilizar la herramienta Analizar datasets
Puede utilizar la herramienta de geoprocesamiento Analizar datasets para actualizar las estadísticas de la base de datos. Esta herramienta permite a los propietarios de datos elegir qué tablas y clases de entidad de un dataset se analizarán y permite al administrador de la geodatabase actualizar las estadísticas de las tablas del sistema de geodatabase.
- Inicie ArcGIS Pro y conéctese a la geodatabase que contiene las tablas cuyas estadísticas desea 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.
- Elija una o varias de las opciones siguientes para especificar las tablas que desea analizar:
- Para actualizar las estadísticas de las tablas definidas por el usuario seleccionadas, deje activada la opción 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 con versionado tradicional.
- 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. El archivo de conexión de base de datos especificado en el paso anterior debe conectarse como administrador de la geodatabase para poder utilizar esta opción.
- Haga clic en Ejecutar.
Se actualizan las estadísticas de las tablas elegidas y sus índices.
Ejecutar un script de Python
Puede invocar la función AnalyzeDatasets_management de ArcPy 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 de ArcPy 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). La secuencia de comandos actualiza las estadísticas de todas las tablas que pertenecen al usuario especificado en la conexión.
Por ejemplo, para ejecutar este script en Linux utilizando el archivo entgdb.sde de conexión de base de datos, que se encuentra en /usr/connections, escriba lo siguiente:
./ AnalyzeDatasets.py /usr/connections/entgdb.sde
Si quiere ejecutar esta secuencia de comandos 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 = "C:\\MyProject\\MyDataConnection.sde"
# set the workspace environment
arcpy.env.workspace = workspace
# NOTE: Analyze Datasets can accept a Python list of datasets.
# Get the user name for the workspace
userName = arcpy.Describe(workspace).connectionProperties.user
# Get a list of all the datasets the user owns by using a wildcard that incldues the user name
# First, get all the stand alone tables, feature classes and rasters.
dataList = arcpy.ListTables(userName + "*") + arcpy.ListFeatureClasses(userName + "*") + arcpy.ListRasters(userName + "*")
# 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(userName + "*", "Feature"):
arcpy.env.workspace = os.path.join(workspace,dataset)
dataList += arcpy.ListFeatureClasses(userName + "*") + arcpy.ListDatasets(userName + "*")
# reset the workspace
arcpy.env.workspace = workspace
# Execute analyze datasets
# Note: to use the "SYSTEM" option the workspace user must be an administrator.
arcpy.management.AnalyzeDatasets(workspace, "NO_SYSTEM", dataList, "ANALYZE_BASE", "ANALYZE_DELTA", "ANALYZE_ARCHIVE")
print("Analyze Complete")