Analyser des jeux de données (Gestion des données)

Résumé

Met à jour les statistiques de base de données des tables de base, tables delta et tables d'archive, ainsi que les statistiques sur les index de ces tables. Cet outil est utilisé dans les géodatabases d'entreprise pour aider à optimiser les performances de l'optimiseur de requête du SGBDR. Des statistiques obsolètes peuvent appauvrir les performances de la géodatabase.

Utilisation

  • L’espace de travail en entrée doit être au moins une géodatabase d'entreprise. Analyze Datasets ne fonctionne pas avec les géodatabases fichier ou personnelle.

  • Après les opérations de chargement, suppression, mise à jour et compression de données, il est important de mettre à jour les statistiques de SGBDR dans les bases de données Oracle, SQL Server, DB2 ou PostgreSQL.

  • L'option Inclure les tables système permet de déterminer si les états et tables de généalogie des états sont analysées. Lorsque l'option est désélectionnée, ces tables ne sont pas analysées ; si elle est sélectionnée, les tables sont analysées.

  • Lorsque vous utilisez des tables ou des jeux de données, cet outil met à jour les statistiques des tables de base, delta et d'archives, ainsi que les statistiques sur les index de ces tables.

  • Le bouton Ajouter une valeur du paramètre Jeux de données à analyser est utilisé uniquement dans ModelBuilder. Dans ModelBuilder, si l'outil précédent n'a pas été exécuté ou si ses données dérivées n'existent pas, il se peut qu'aucune valeur ne soit renseignée dans le paramètre Jeux de données à analyser. Le bouton Ajouter une valeur vous permet d'ajouter des valeurs attendues afin de poursuivre la construction du modèle.

Syntaxe

arcpy.management.AnalyzeDatasets(input_database, include_system, {in_datasets}, {analyze_base}, {analyze_delta}, {analyze_archive})
ParamètreExplicationType de données
input_database

Géodatabase d'entreprise contenant les données à analyser.

Workspace
include_system

Indique si les statistiques seront rassemblées sur les états et tables de généalogies des états.

Remarque :

Vous devez être l'administrateur de la géodatabase pour activer cette option.

Cette option s'applique uniquement aux géodatabases. Si l'espace de travail en entrée est une base de données, cette option est ignorée.

  • NO_SYSTEMAucune statistique n'est collectée concernant les états et tables de généalogies des états. Il s’agit de l’option par défaut.
  • SYSTEMDes statistiques seront collectées concernant les états et tables de généalogies des états.
Boolean
in_datasets
[in_datasets,...]
(Facultatif)

Noms des jeux de données qui seront analysés. Un jeu de données individuel ou une liste Python de jeux de données est autorisé€. Les noms des jeux de données utilisent des chemins d'accès relatifs à l'espace de travail en entrée ; les chemins complets ne sont pas acceptés en tant qu'entrée.

Notez que l'utilisateur connecté doit être le propriétaire de données pour les jeux de données fournis.

String
analyze_base
(Facultatif)

Indique si les tables de base de jeux de données sélectionnées seront analysées.

Cette option s'applique uniquement aux géodatabases. Si l'espace de travail en entrée est une base de données, cette option est ignorée.

  • ANALYZE_BASE Des statistiques seront collectées sur les tables de base pour les jeux de données sélectionnés. Il s’agit de l’option par défaut.
  • NO_ANALYZE_BASE Aucune statistique ne sera collectée pour les tables de base pour les jeux de données sélectionnés.
Boolean
analyze_delta
(Facultatif)

Indique si les tables delta de jeux de données sélectionnées seront analysées.

Cette option s'applique uniquement aux géodatabases. Si l'espace de travail en entrée est une base de données, cette option est ignorée.

  • ANALYZE_DELTA Des statistiques seront collectées sur les tables delta pour les jeux de données sélectionnés. Il s’agit de l’option par défaut.
  • NO_ANALYZE_DELTA Aucune statistique ne sera collectée pour les tables delta pour les jeux de données sélectionnés.
Boolean
analyze_archive
(Facultatif)

Indique si les tables d'archives de jeux de données sélectionnées seront analysées.

Cette option s'applique uniquement aux géodatabases. Si l'espace de travail en entrée est une base de données, cette option est ignorée.

  • ANALYZE_ARCHIVE Des statistiques seront collectées sur les tables d'archives pour les jeux de données sélectionnés. Il s’agit de l’option par défaut.
  • NO_ANALYZE_ARCHIVE Aucune statistique ne sera collectée pour les tables d'archives pour les jeux de données sélectionnés.
Boolean

Sortie dérivée

NomExplicationType de données
out_workspace

Espace de travail mis à jour.

Espace de travail

Exemple de code

Exemple 1 d'utilisation de l'outil Analyze Datasets (fenêtre Python)

Le script de fenêtre Python suivant montre comment utiliser l’outil AnalyzeDatasets en mode immédiat.

# 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")
Exemple 2 d'utilisation de l'outil Analyze Datasets (script autonome)

Le script autonome suivant montre comment utiliser l'outil AnalyzeDatasets pour analyser tous les jeux de données pour une connexion utilisateur donnée.

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

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes