Analizar datasets (Administración de datos)
Resumen
Actualiza las estadísticas de la base de datos de las tablas base, tablas delta y las tablas de archivos, junto con las estadísticas en los índices de esas tablas. Esta herramienta se usa en geodatabases corporativas para ayudar a obtener el rendimiento óptimo del optimizador de consultas de RDBMS. Las estadísticas obsoletas pueden conducir a un mal rendimiento de la geodatabase.
Uso
- El espacio de trabajo de entrada debe ser una base de datos corporativa. Analizar datasets no funciona con las geodatabases personales o de archivo.
- Después de las operaciones de cargar, eliminar, actualizar y comprimir datos, es importante actualizar las estadísticas RDBMS en las bases de datos de Oracle, SQL Server, DB2, PostgreSQL o Informix.
- La opción Incluir tablas del sistema se utiliza para determinar si se analizarán los estados y las tablas de linaje de estado. Cuando se anula la selección de la opción, estas tablas no se analizan; cuando se selecciona, se analizan las tablas.
- Al trabajar con tablas o datasets, esta herramienta actualiza las estadísticas de las tablas base, tablas delta y tablas de archivos, junto con las estadísticas en los índices de esas tablas.
- El botón Agregar valor del parámetro Datasets para analizar se utiliza solo en ModelBuilder. En ModelBuilder, donde no se ejecute la herramienta anterior, o sus datos derivados no existan, es probable que el parámetro Datasets para analizar no se complete con valores. El botón Agregar valor permite agregar valores esperados para que pueda continuar creando el modelo.
Sintaxis
Parámetro | Explicación | Tipo de datos |
input_database |
La base de datos corporativa que contiene los datos que se analizarán. | Workspace |
include_system | Indica si las estadísticas se recopilan en los estados y en las tablas de linajes del estado. Nota: Debe ser el administrador de la geodatabase para que esta opción esté activada. 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.
| Boolean |
in_datasets [in_datasets,...] (Opcional) | Nombres de los datasets que se analizarán. Está permitido un dataset individual o una lista de Python de datasets. Los nombres de los datasets usan rutas correspondientes al espacio de trabajo de entrada; las rutas completas no se aceptan como entrada. Tenga en cuenta que el usuario conectado debe ser el propietario de los datos para los datasets que se proporcionan. | String |
analyze_base (Opcional) | Indica si se analizarán las tablas base de datasets seleccionadas. 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.
| Boolean |
analyze_delta (Opcional) | Indica si se analizarán las tablas delta de datasets seleccionadas. 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.
| Boolean |
analyze_archive (Opcional) | Indica si se analizarán las tablas de archivos de datasets seleccionadas. 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.
| Boolean |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta Analizar datasets en el modo inmediato.
# Import system modules
import arcpy
arcpy.AnalyzeDatasets_management("Database Connections/tenone@sde.sde",
"SYSTEM",
"gdb.city;gdb.state;map.lines",
"ANALYZE_BASE",
"ANALYZE_DELTA",
"ANALYZE_ARCHIVE")
La siguiente secuencia de comandos independiente demuestra cómo usar la herramienta de Analizar datasets para analizar todos los datasets de la conexión de un usuario determinado.
# Name: AnalyzeDatasets.py
# Description: analyzes all datasets in an enterprise geodatabase
# for a given user.
# Import system modules
import arcpy, 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"