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 o PostgreSQL.

  • 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 construyendo el modelo.

Sintaxis

arcpy.management.AnalyzeDatasets(input_database, include_system, {in_datasets}, {analyze_base}, {analyze_delta}, {analyze_archive})
ParámetroExplicaciónTipo 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.

  • NO_SYSTEMLas estadísticas no se recopilan en los estados y en las tablas de linajes del estado. Esta es la opción predeterminada.
  • SYSTEMLas estadísticas se recopilan en los estados y en las tablas de linajes del estado.
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.

  • ANALYZE_BASE Se recopilan las estadísticas en las tablas base para los datasets seleccionados. Esta es la opción predeterminada.
  • NO_ANALYZE_BASE No se recopilan las estadísticas en las tablas base para los datasets seleccionados.
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.

  • ANALYZE_DELTA Se recopilan las estadísticas en las tablas delta para los datasets seleccionados. Esta es la opción predeterminada.
  • NO_ANALYZE_DELTA No se recopilan las estadísticas en las tablas delta para los datasets seleccionados.
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.

  • ANALYZE_ARCHIVE Se recopilan las estadísticas en las tablas de archivos para los datasets seleccionados. Esta es la opción predeterminada.
  • NO_ANALYZE_ARCHIVE No se recopilan las estadísticas en las tablas de archivos para los datasets seleccionados.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_workspace

El espacio de trabajo actualizado.

Espacio de trabajo

Muestra de código

Ejemplo 1 de AnalyzeDatasets (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta AnalyzeDatasets en el modo inmediato.

# Import system modules
import arcpy

arcpy.AnalyzeDatasets_management("c:/Connections/tenone@sde.sde",
                                 "SYSTEM",
                                 "gdb.city;gdb.state;map.lines",
                                 "ANALYZE_BASE",
                                 "ANALYZE_DELTA",
                                 "ANALYZE_ARCHIVE")
Ejemplo 2 de AnalyzeDatasets (script independiente)

El siguiente script independiente demuestra cómo usar la herramienta AnalyzeDatasets 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
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")

Información de licenciamiento

  • Basic: No
  • Standard: Sí
  • Advanced: Sí

Temas relacionados