Datasets analysieren (Data Management)

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 Query Optimizer des relationalen Datenbankmanagementsystems (RDBMS) zu optimieren. Veraltete Statistiken können die Geodatabase-Performance beeinträchtigen.

Verwendung

  • Der Eingabe-Workspace muss eine Datenbank oder Enterprise-Geodatabase sein.

  • Nach dem Laden, Löschen, Aktualisieren oder Komprimieren von Daten müssen die RDBMS-Statistiken in der Datenbank aktualisiert werden.

  • Der Parameter Systemtabellen einbeziehen wird verwendet, um zu bestimmen, ob die Status- und State-Lineage-Tabellen analysiert werden. In diesen Tabellen werden traditionelle Versionen protokolliert. Wenn dieser Parameter nicht aktiviert ist, werden die Tabellen nicht analysiert; wenn er aktiviert ist, werden die Tabellen analysiert.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Datenbankverbindung

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

Workspace
Systemtabellen einbeziehen

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

  • Deaktiviert: Statistiken werden für die Zustands- und State-Lineages-Tabellen nicht erfasst. Dies ist die Standardeinstellung.
  • Aktiviert: Statistiken werden für die Zustands- und State-Lineages-Tabellen erfasst.
    Hinweis:

    Sie müssen der Geodatabase-Administrator sein, damit dieser Parameter aktiviert ist.

    Dieser Parameter gilt nur für Geodatabases. Wenn der Eingabe-Workspace eine Datenbank ist, ist dieser Parameter nicht aktiv.

Boolean
Zu analysierende Datasets
(optional)

Die Namen der Datasets, die analysiert werden. Es werden nur Datasets angezeigt, deren Besitzer der verbundene Benutzer ist.

String
Basistabellen für ausgewählte Datasets analysieren
(optional)

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

Hinweis:
Dieser Parameter gilt nur für Geodatabases. Wenn der Eingabe-Workspace eine Datenbank ist, ist dieser Parameter nicht aktiv.

  • Aktiviert: Statistiken werden für die Basistabellen der ausgewählten Datasets erfasst. Dies ist die Standardeinstellung.
  • Deaktiviert: Statistiken werden für die Basistabellen der ausgewählten Datasets nicht erfasst.
Boolean
Delta-Tabellen für ausgewählte Datasets analysieren
(optional)

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

Hinweis:
Dieser Parameter gilt nur für Geodatabases mit traditionellen Versionen. Wenn der Eingabe-Workspace eine Datenbank ist oder nicht für die traditionelle Versionierung registriert ist, ist dieser Parameter nicht aktiv.

  • Aktiviert: Statistiken werden für die Delta-Tabellen der ausgewählten Datasets erfasst. Dies ist die Standardeinstellung.
  • Deaktiviert: Statistiken werden für die Delta-Tabellen der ausgewählten Datasets nicht erfasst.
Boolean
Archivtabellen für ausgewählte Datasets analysieren
(optional)

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

Hinweis:
Dieser Parameter gilt nur für Geodatabases mit Datasets mit aktivierter Archivierung. Wenn der Eingabe-Workspace eine Datenbank ist, ist dieser Parameter nicht aktiv.

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

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierter Workspace

Der aktualisierte Workspace.

Workspace

arcpy.management.AnalyzeDatasets(input_database, include_system, {in_datasets}, {analyze_base}, {analyze_delta}, {analyze_archive})
NameErläuterungDatentyp
input_database

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

Workspace
include_system

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

Hinweis:

Sie müssen Geodatabase-Administrator sein, um diesen Parameter zu verwenden.

Dieser Parameter gilt nur für Geodatabases. Wenn der Eingabe-Workspace eine Datenbank ist, wird dieser Parameter ignoriert.

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

Die Namen der Datasets, die analysiert werden. Verwendet werden kann ein einzelnes Dataset oder eine Python-Liste von Datasets. Für Dataset-Namen sind relative Pfade zum Eingabe-Workspace zu verwenden; vollständige Pfade sind keine gültige Eingabe.

Der verbundene Benutzer muss der Besitzer der angegebenen Datasets sein.

String
analyze_base
(optional)

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

Dieser Parameter gilt nur für Geodatabases. Wenn der Eingabe-Workspace eine Datenbank ist, wird dieser Parameter ignoriert.

  • ANALYZE_BASEStatistiken werden für die Basistabellen der ausgewählten Datasets erfasst. Dies ist die Standardeinstellung.
  • NO_ANALYZE_BASEStatistiken 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.

Dieser Parameter gilt nur für Geodatabases mit traditionellen Versionen. Wenn der Eingabe-Workspace eine Datenbank ist oder nicht für die traditionelle Versionierung registriert ist, wird dieser Parameter ignoriert.

  • ANALYZE_DELTAStatistiken werden für die Delta-Tabellen der ausgewählten Datasets erfasst. Dies ist die Standardeinstellung.
  • NO_ANALYZE_DELTAStatistiken 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.

Dieser Parameter gilt nur für Geodatabases mit Datasets mit aktivierter Archivierung. Wenn der Eingabe-Workspace eine Datenbank ist, wird dieser Parameter ignoriert.

  • ANALYZE_ARCHIVEStatistiken werden für die Archivtabellen der ausgewählten Datasets erfasst. Dies ist die Standardeinstellung.
  • NO_ANALYZE_ARCHIVEStatistiken werden für die Archivtabellen der ausgewählten Datasets nicht erfasst.
Boolean

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_workspace

Der aktualisierte Workspace.

Workspace

Codebeispiel

AnalyzeDatasets – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion AnalyzeDatasets im unmittelbaren Modus verwendet wird.

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

Das folgende eigenständige Skript veranschaulicht, wie die Funktion AnalyzeDatasets verwendet wird, um alle Datasets für eine angegebene Benutzerverbindung zu analysieren.

# 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 = "C:\\MyProject\\MyDataConnection.sde"

# set the workspace environment
arcpy.env.workspace = workspace

# NOTE: Analyze Datasets can accept a Python list of datasets.

# Get the user name for the workspace
userName = arcpy.Describe(workspace).connectionProperties.user

# Get a list of all the datasets the user owns by using a wildcard that incldues the user name
# First, get all the stand alone tables, feature classes and rasters.
dataList = arcpy.ListTables(userName + "*") + arcpy.ListFeatureClasses(userName + "*") + arcpy.ListRasters(userName + "*")

# 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(userName + "*", "Feature"):
    arcpy.env.workspace = os.path.join(workspace,dataset)
    dataList += arcpy.ListFeatureClasses(userName + "*") + arcpy.ListDatasets(userName + "*")

# reset the workspace
arcpy.env.workspace = workspace

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

Verwandte Themen