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

Sintaxis

AnalyzeDatasets_management (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.

NotaNota:

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.

  • 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

Ejemplo de código

Ejemplo 1 de AnalyzeDatasets (ventana de Python)

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")
Ejemplo 2 de AnalyzeDatasets (secuencia de comandos independiente)

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"

Entornos

Temas relacionados

9/11/2013