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

Краткая информация

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

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

  • Входной рабочей областью должна быть база данных или многопользовательская база геоданных.

  • После операций загрузки, удаления, обновления и сжатия данных, важно обновить статистику РСУБД в базе данных.

  • Параметр Включить системные таблицы используется для определения, будут ли проанализированы состояния и таблицы истории изменений состояний. Эти таблицы отслеживают традиционные версии. Если этот параметр не включен, таблицы не анализируются и наоборот.

Параметры

ПодписьОписаниеТип данных
Входное подключение к базе данных

База данных, содержащая данные для анализа.

Workspace
Включить системные таблицы

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

  • Не отмечено: статистика по состояниям и таблицам связей состояний не будет собрана. Это значение по умолчанию
  • Отмечено: статистика по состояниям и таблицам связей состояний будет собрана.
    Примечание:

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

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

Boolean
Наборы данных для анализа
(Дополнительный)

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

String
Анализировать базовые таблицы выбранных наборов данных
(Дополнительный)

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

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

  • Отмечено: статистика будет собрана по базовым таблицам для выбранных наборов данных. Это значение по умолчанию
  • Не отмечено: статистика по базовым таблицам для выбранных наборов данных не будет собрана.
Boolean
Анализировать дельта-таблицы выбранных наборов данных
(Дополнительный)

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

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

  • Отмечено: статистика по дельта-таблицам для выбранных наборов данных будет собрана. Это значение по умолчанию
  • Не отмечено: статистика по дельта-таблицам для выбранных наборов данных не будет собрана.
Boolean
Анализировать архивные таблицы выбранных наборов данных
(Дополнительный)

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

Примечание:
Этот параметр применяется только к базам геоданных, содержащих наборы данных с возможностью архивирования. Если входная рабочая область является базой данных, этот параметр не будет активен.

  • Отмечено: статистика по таблицам архивов для выбранных наборов данных будет собрана. Это значение по умолчанию
  • Не отмечено: статистика по таблицам архивов для выбранных наборов данных не будет собрана.
Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Обновленная рабочая область

Обновленная рабочая область.

Workspace

arcpy.management.AnalyzeDatasets(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

Производные выходные данные

ИмяОписаниеТип данных
out_workspace

Обновленная рабочая область.

Workspace

Пример кода

AnalyzeDatasets, пример 1 (окно Python)

Пример скрипта окна Python для использования функции AnalyzeDatasets в режиме прямого запуска.

# 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, пример 2 (автономный скрипт)

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

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

Связанные разделы