概要
ベース テーブル、差分テーブル、およびアーカイブ テーブルの統計情報と、これらのテーブルのインデックスに関する統計情報を更新します。このツールは、RDBMS のクエリ オプティマイザーから最適なパフォーマンスを得るために、エンタープライズ ジオデータベースで使用されます。古い統計情報では、ジオデータベースのパフォーマンスが低下する可能性があります。
使用法
入力ワークスペースは、エンタープライズ データベースである必要があります。[データセットの分析 (Analyze Datasets)] ツールは、ファイル ジオデータベースまたはパーソナル ジオデータベースでは動作しません。
データの読み込み、削除、更新、圧縮の操作を行った後は、Oracle、SQL Server、DB2、PostgreSQL、Informix データベースで RDBMS 統計情報を更新することが重要です。
ステートおよびステート系統テーブルを分析するかどうかは、[システム テーブルを含める] オプションで決定します。このオプションがオフの場合、これらのテーブルは分析されません。オプションがオンの場合は、これらのテーブルが分析されます。
テーブルまたはデータセットを操作するときに、このツールはベース テーブル、差分テーブル、およびアーカイブ テーブルの統計情報と、これらのテーブルのインデックスに関する統計情報を更新します。
[分析するデータセット] パラメーターの [値の追加] ボタンは、ModelBuilder でのみ使用されます。ModelBuilder では、先のツールが実行されていないか、出力データが存在しないために、[分析するデータセット] パラメーターに値が表示されない場合があります。[値の追加] ボタンを使用すると、モデルの作成を続行できるように、必要な値を追加することができます。
構文
arcpy.management.AnalyzeDatasets(input_database, include_system, {in_datasets}, {analyze_base}, {analyze_delta}, {analyze_archive})
パラメーター | 説明 | データ タイプ |
input_database | 分析するデータを含むエンタープライズ ジオデータベース。 | Workspace |
include_system | ステートおよびステート系統テーブルで統計情報を収集するかどうかを指定します。
| Boolean |
in_datasets [in_datasets,...] (オプション) | 分析するデータセットの名前。個々のデータセット、またはデータセットの Python リストを指定できます。データセット名には、入力ワークスペースからの相対パスを使用します。絶対パスは入力として使用できません。 接続ユーザーが指定するデータセットのデータ所有者である必要があります。 | String |
analyze_base (オプション) | 選択したデータセットのベース テーブルを分析するかどうかを指定します。 このオプションの適用対象となるのは、ジオデータベースだけです。入力ワークスペースがデータベースの場合、このオプションは無視されます。
| Boolean |
analyze_delta (オプション) | 選択したデータセットの差分テーブルを分析するかどうかを指定します。 このオプションの適用対象となるのは、ジオデータベースだけです。入力ワークスペースがデータベースの場合、このオプションは無視されます。
| Boolean |
analyze_archive (オプション) | 選択したデータセットのアーカイブ テーブルを分析するかどうかを指定します。 このオプションの適用対象となるのは、ジオデータベースだけです。入力ワークスペースがデータベースの場合、このオプションは無視されます。
| Boolean |
派生した出力
名前 | 説明 | データ タイプ |
out_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 = 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")
環境
ライセンス情報
- Basic: いいえ
- Standard: はい
- Advanced: はい