Перестроить индексы (Rebuild Indexes) (Управление данными)

Уровень лицензии:BasicStandardAdvanced

Резюме

Обновляет индексы наборов данных и системных таблиц, хранящихся в многопользовательских базах данных. Этот инструмент используется в многопользовательских базах данных для перестройки существующих атрибутов или пространственных индексов. Устаревшие индексы могут стать причиной низкой производительности базы геоданных.

Использование

Синтаксис

RebuildIndexes_management (input_database, include_system, {in_datasets}, delta_only)
ПараметрОбъяснениеТип данных
input_database

Многопользовательская база данных, содержащая данные для обновления.

Workspace
include_system

Показывает, будут ли перестроены индексы состояний и таблиц связей состояний.

ПримечаниеПримечание:

Для выполнения этой опции необходимо иметь права администратора базы геоданных.

Данная опция применяется только к базам геоданных. Если входная рабочая область является базой данных, эта опция будет проигнорирована.

  • NO_SYSTEM Индексы состояний и таблиц связей состояний не будут перестроены. Это значение используется по умолчанию.
  • SYSTEM Индексы состояний и таблиц связей состояний будут перестроены.
Boolean
in_datasets
[in_datasets,...]
(дополнительно)

Имена наборов данных, индексы которых будут перестроены. Имена наборов данных используют пути относительно входной рабочей области; полные пути не допускаются в качестве входных данных.

Dataset
delta_only

Показывает, как будут перестроены индексы в выбранных наборах данных. Эта опция не будет иметь эффекта, если входные наборы данных пусты.

Данная опция применяется только к базам геоданных. Если входная рабочая область является базой данных, эта опция будет проигнорирована.

  • ALLИндексы будут перестроены на всех индексах для выбранных наборов данных. Эта опция может использоваться для случаев, когда бизнес-таблицы для выбранных наборов данных обновляются не часто, а в дельта-таблицах выполняется большое количество правок.
  • ONLY_DELTASИндексы будут перестроены только для дельта-таблиц выбранных наборов данных. Сюда относятся пространственные индексы, созданные пользователем индексы атрибутов, а также любые индексы для наборов данных, поддерживаемые через базу геоданных. Это значение используется по умолчанию.
Boolean

Пример кода

Перестроить индексы (RebuildIndexes). Пример 1 (окно Python)

Следующий пример демонстрирует, как перестроить индексы, используя окно Python в ArcGIS.

# Import system modules
import arcpy

arcpy.RebuildIndexes_management("Database Connections/GDB@DC@server.sde", "NO_SYSTEM","db1.GDB.Roads;db1.GDB.Parcels", "ALL")
Перестроить индексы (RebuildIndexes). Пример 2 (автономный скрипт)

Следующий пример демонстрирует, как перестроить индексы, используя автономный скрипт.

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

Параметры среды

Этот инструмент не использует параметры среды геообработки

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
9/10/2013