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 a analizar se utiliza sólo en ModelBuilder. En ModelBuilder, donde no se ejecute la herramienta anterior, o sus datos derivados no existan, es probable que el parámetro Datasets a 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 este 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"