データセットの分析 (Analyze Datasets) (データ管理)

サマリー

ベース テーブル、差分テーブル、およびアーカイブ テーブルの統計情報と、これらのテーブルのインデックスに関する統計情報を更新します。 このツールは、リレーショナル データベース管理システム (RDBMS) のクエリ オプティマイザーから最適なパフォーマンスを得るために、エンタープライズ ジオデータベースで使用されます。 古い統計情報では、ジオデータベースのパフォーマンスに影響を及ぼす可能性があります。

使用法

  • 入力ワークスペースは、データベースまたはエンタープライズ ジオデータベースである必要があります。

  • データの読み込み、削除、更新、圧縮の操作を行った後は、データベースで RDBMS 統計情報を更新することが重要です。

  • ステートおよびステート系統テーブルを分析するかどうかは、[システム テーブルを含める] パラメーターで決定します。 これらのテーブルは、トラディショナル バージョンを追跡します。 このパラメーターがオフの場合、これらのテーブルは分析されません。オンの場合は、これらのテーブルが分析されます。

パラメーター

ラベル説明データ タイプ
入力データベース接続

分析するデータを含むジオデータベース。

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

関連トピック