Recréer les index (Gestion des données)

Synthèse

Recréer les index attributaires ou spatiaux existants dans les géodatabases d’entreprise. Les index peuvent également être recréés dans les tables système de géodatabase states et state_lineage et les tables de deltas des jeux de données qui sont inscrits pour participer au versionnement traditionnel. Les index obsolètes peuvent réduire les performances des requêtes.

Paramètres

ÉtiquetteExplicationType de données
Connexion à la géodatabase en entrée

Connexion (fichier .sde) à la base de données ou géodatabase qui contient les données pour lesquelles vous souhaitez recréer les index.

Workspace
Inclure les tables du système

Indique si les index seront recréés sur les états et tables de généalogies des états.

Vous devez vous connecter en tant qu'administrateur de la géodatabase pour activer cette option.

Cette option s'applique uniquement aux géodatabases. Si vous vous connectez à une base de données, cette option est désactivée.

  • Désactivé - Les index ne sont pas recréé sur les états et tables de généalogies des états. Il s’agit de l’option par défaut.
  • Activé - Les index sont recréé sur les états et tables de généalogies des états.
Boolean
Jeux de données pour recréer les index pour
(Facultatif)

Noms des jeux de données dont les index sont recréés. Seuls les jeux de données appartenant à l'utilisateur connecté s'affichent.

String
Recréer les tables de deltas uniquement
(Facultatif)

Indique si les index sont recréés uniquement sur les tables de deltas des jeux de données sélectionnés. Cette option n'est pas disponible si aucun jeu de données n'est sélectionné dans la liste de jeux de données en entrée.

Cette option s'applique uniquement aux géodatabases. Si vous vous connectez à une base de données, cette option est désactivée.

  • Activé - Les index sont recréés uniquement pour les tables delta des jeux de données sélectionnés. Cette option peut être utilisée dans les cas où les tables métier des jeux de données sélectionnés ne sont pas souvent mises à jour est qu'un grand volume de modifications est apporté aux tables delta. Il s’agit de l’option par défaut.
  • Désactivé - Les index sont recréés sur tous les index des jeux de données sélectionnés. Cela inclut les index spatiaux ainsi que les index attributaires créés par l'utilisateur et tous les index gérés par géodatabase du jeu de données.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Espace de travail mis à jour

Espace de travail mis à jour.

Espace de travail

arcpy.management.RebuildIndexes(input_database, include_system, {in_datasets}, {delta_only})
NomExplicationType de données
input_database

Connexion (fichier .sde) à la base de données ou géodatabase qui contient les données pour lesquelles vous souhaitez recréer les index.

Workspace
include_system

Indique si les index seront recréés sur les états et tables de généalogies des états.

Remarque :

Vous devez vous connecter en tant qu'administrateur de géodatabase dans le fichier de connexion spécifié pour la input_database pour que cette option s'exécute correctement.

Cette option s'applique uniquement aux géodatabases. Cette option est ignorée si vous vous connectez à une base de données.

  • NO_SYSTEM Les index ne sont pas recréé sur les états et table de généalogies des états. Il s’agit de l’option par défaut.
  • SYSTEM Les index sont recréé sur les états et tables de généalogies des états.
Boolean
in_datasets
[in_datasets,...]
(Facultatif)

Noms des jeux de données dont les index sont recréés. Les noms des jeux de données utilisent des chemins d'accès relatifs à la input_database ; les chemins complets ne sont pas acceptés en tant qu'entrée.

String
delta_only
(Facultatif)

Indique la façon dont les index sont recréés sur les jeux de données sélectionnés. Cette option est sans effet si le champ in_datasets est vide.

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.

  • ALLLes index sont recréés sur tous les index des jeux de données sélectionnés. Cela inclut les index spatiaux ainsi que les index attributaires créés par l'utilisateur et tous les index gérés par géodatabase du jeu de données.
  • ONLY_DELTASLes index sont recréés uniquement pour les tables delta des jeux de données sélectionnés. Cette option peut être utilisée dans les cas où les tables métier des jeux de données sélectionnés ne sont pas souvent mises à jour est qu'un grand volume de modifications est apporté aux tables de deltas. Il s’agit de l’option par défaut.
Boolean

Sortie obtenue

NomExplicationType de données
out_workspace

Espace de travail mis à jour.

Espace de travail

Exemple de code

Exemple 1 d'utilisation de l'outil Recréer les index (fenêtre Python)

L'exemple suivant montre comment recréer des index à l'aide d'une fenêtre Python.

# Import system modules
import arcpy

arcpy.RebuildIndexes_management("c:/Connections/GDB@DC@server.sde", "NO_SYSTEM","db1.GDB.Roads;db1.GDB.Parcels", "ALL")
Exemple 2 d'utilisation de l'outil Recréer les index (script autonome)

L'exemple suivant montre comment recréer des index dans un script autonome.

# Name: RebuildIndexes.py
# Description: rebuilds indexes on delta tables for all datasets in an
# enterprise geodatabase

# Import system modules
import arcpy, os

# set workspace
workspace = arcpy.GetParameterAsText(0)

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

# NOTE: Rebuild indexes 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 rebuild indexes
# Note: to use the "SYSTEM" option the workspace user must be an administrator.
arcpy.RebuildIndexes_management(workspace, "NO_SYSTEM", userDataList, "ALL")
print('Rebuild Complete')

Informations de licence

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

Rubriques connexes