Анализировать наборы данных (Analyze Datasets) (Управление данными)

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

Резюме

Обновляет статистику базы данных базовых таблиц, дельта-таблиц и архивных таблиц, а также статистику индексов этих таблиц. Этот инструмент используется в многопользовательских базах геоданных для получения оптимальной производительности оптимизатора запросов РСУБД. Устаревшая статистика может стать причиной низкой производительности базы геоданных.

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

Синтаксис

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

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

Workspace
include_system

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

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

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

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

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

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

Примечание: Подключенный пользователь должен быть владельцем данных предоставленных наборов данных.

String
analyze_base
(дополнительно)

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

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

  • ANALYZE_BASE Статистика по базовым таблицам для выбранных наборов данных будет собрана. Это значение используется по умолчанию.
  • NO_ANALYZE_BASE Статистика по базовым таблицам для выбранных наборов данных не будет собрана.
Boolean
analyze_delta
(дополнительно)

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

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

  • ANALYZE_DELTA Статистика по дельта-таблицам для выбранных наборов данных будет собрана. Это значение используется по умолчанию.
  • NO_ANALYZE_DELTA Статистика по дельта-таблицам для выбранных наборов данных не будет собрана.
Boolean
analyze_archive
(дополнительно)

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

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

  • ANALYZE_ARCHIVE Статистика по таблицам архивов для выбранных наборов данных будет собрана. Это значение используется по умолчанию.
  • NO_ANALYZE_ARCHIVE Статистика по таблицам архивов для выбранных наборов данных не будет собрана.
Boolean

Пример кода

Пример 1. Анализ набора данных (AnalyzeDatasets) (окно Python)

Представленный скрипт окна Python демонстрирует порядок использования инструмента Анализировать наборы данных (Analyze Datasets) в непосредственном режиме.

# 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")
Пример 2. Анализ набора данных (автономный скрипт)

Представленный автономный скрипт демонстрирует порядок использования инструмента Анализировать наборы данных (Analyze Datasets) для анализа всех наборов данных существующего подключения пользователя.

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

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

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

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

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