インデックスの再構築(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

選択したデータセットでインデックスを再構築する方法を指定します。このオプションは input_datasets が空の場合は効果がありません。

このオプションの適用対象となるのは、ジオデータベースだけです。入力ワークスペースがデータベースの場合、このオプションは無視されます。

  • ALL選択したデータセットのすべてのインデックスを再構築します。このオプションは、選択したデータセットのビジネス テーブルの更新頻度が低く、デルタ テーブルに含まれる編集の量が多い場合に使用できます。
  • ONLY_DELTAS選択したデータセットのデルタ テーブルのみでインデックスを再構築します。空間インデックスの他に、ユーザが作成した属性インデックスとデータセットでジオデータベースが保守しているすべてのインデックスが含まれます。これがデフォルトです。
Boolean

コードのサンプル

RebuildIndexes(インデックスの再構築)の例 1(Python ウィンドウ)

次の例は、ArcGIS の Python ウィンドウでインデックスを再構築する方法を示しています。

# 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/14/2013