Datasets analysieren (Data Management)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Aktualisiert Datenbankstatistiken zu Basistabellen, Delta-Tabellen und Archivtabellen zusammen mit den Statistiken für die Indizes dieser Tabellen. Dieses Werkzeug wird in Enterprise-Geodatabases verwendet, um die Performance des RDBMS Query Optimizer zu optimieren. Veraltete Statistik kann zu schlechter Geodatabase-Performance führen.

Verwendung

Syntax

AnalyzeDatasets_management (input_database, include_system, {in_datasets}, {analyze_base}, {analyze_delta}, {analyze_archive})
ParameterErläuterungDatentyp
input_database

Die Enterprise-Geodatabase, die die zu analysierenden Daten enthält.

Workspace
include_system

Gibt an, ob Statistiken für die Status- und State-Lineages-Tabellen erfasst werden.

HinweisHinweis:

Sie müssen der Geodatabase-Administrator sein, um diese Option aktivieren zu können.

Diese Option gilt nur für Geodatabases. Wenn der Eingabe-Workspace eine Datenbank ist, wird diese Option ignoriert.

  • NO_SYSTEMStatistiken werden für die Status- und State-Lineages-Tabellen nicht erfasst. Dies ist die Standardeinstellung.
  • SYSTEMStatistiken werden für die Status- und State-Lineages-Tabellen erfasst.
Boolean
in_datasets
[in_datasets,...]
(optional)

Namen der Datasets, die analysiert werden. Ein einzelnes Dataset oder eine Python-Liste von Datasets ist zulässig. Dataset-Namen verwenden Pfade relativ zum Eingabe-Workspace; vollständige Pfade werden nicht als Eingabe angenommen.

Beachten Sie, dass der verbundene Benutzer der Datenbesitzer der bereitgestellten Datasets sein muss.

String
analyze_base
(optional)

Gibt an, ob die ausgewählten Dataset-Basistabellen analysiert werden.

Diese Option gilt nur für Geodatabases. Wenn der Eingabe-Workspace eine Datenbank ist, wird diese Option ignoriert.

  • ANALYZE_BASE Statistiken werden für die Basistabellen der ausgewählten Datasets erfasst. Dies ist die Standardeinstellung.
  • NO_ANALYZE_BASE Statistiken werden für die Basistabellen der ausgewählten Datasets nicht erfasst.
Boolean
analyze_delta
(optional)

Gibt an, ob die ausgewählten Dataset-Delta-Tabellen analysiert werden.

Diese Option gilt nur für Geodatabases. Wenn der Eingabe-Workspace eine Datenbank ist, wird diese Option ignoriert.

  • ANALYZE_DELTA Statistiken werden für die Delta-Tabellen der ausgewählten Datasets erfasst. Dies ist die Standardeinstellung.
  • NO_ANALYZE_DELTA Statistiken werden für die Delta-Tabellen der ausgewählten Datasets nicht erfasst.
Boolean
analyze_archive
(optional)

Gibt an, ob die ausgewählten Dataset-Archivtabellen analysiert werden.

Diese Option gilt nur für Geodatabases. Wenn der Eingabe-Workspace eine Datenbank ist, wird diese Option ignoriert.

  • ANALYZE_ARCHIVE Statistiken werden für die Archivtabellen der ausgewählten Datasets erfasst. Dies ist die Standardeinstellung.
  • NO_ANALYZE_ARCHIVE Statistiken werden für die Archivtabellen der ausgewählten Datasets nicht erfasst.
Boolean

Codebeispiel

AnalyzeDatasets – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie das Werkzeug "AnalyzeDatasets" im unmittelbaren Modus verwendet wird.

# 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")
AnalyzeDatasets – Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie das Werkzeug "AnalyzeDatasets" verwendet wird, um alle Datasets für eine gegebene Benutzerverbindung zu analysieren.

# 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"

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Nein
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
9/11/2013