リレーションシップ クラスとパフォーマンスの最適化

このトピックは、ArcGIS for Desktop Standard および ArcGIS for Desktop Advanced にのみ該当します。

リレーションシップ クラスを新規作成する際、主キーと外部キーにまだインデックスが作成されていなければ、それらのインデックスが自動的に作成されます。これらのインデックスは、リレーションシップのナビゲートやメッセージングによるリレーションシップの編集時に、パフォーマンスを向上させます。

ArcMap でメッセージングに対応するフィーチャクラスやテーブルを編集すると、関連クラスが ArcGIS によって開かれ、それ自身の移動または削除や何らかのカスタム動作の実装により、メッセージに応答できるようになります。操作しているマップに関連クラスがまだ追加されていない場合、ArcGIS は関連クラスがメッセージに応答できるよう、そのオープン/クローズを自動的に処理します。編集のたびに ArcGIS が関連クラスのオープン/クローズを繰り返すため、パフォーマンスが低下します。これを防ぐには、ArcMap でクラスを操作する際にすべての関連クラスをマップに追加します。これにより、関連クラスは ArcMap への追加時にオープンされマップから削除されるか、ArcMap が終了するまでオープンされたままとなります。

多くの ArcGIS for Desktop Advanced カバレッジ データ モデルでは、フィーチャ属性テーブルに含まれるアイテムの数が最小限に抑えられ、フィーチャクラスの属性の多くが関連テーブルに含まれています。これにはジオデータベース フィーチャクラスを使用できますが、ジオデータベースでのリレーションシップのナビゲートは、INFO でリレートをナビゲートするよりも負荷の大きい操作です。INFO 環境では、フィーチャのシンボルはルックアップ テーブルと呼ばれる外部関連テーブルに格納されるのが一般的でした。これはジオデータベースでも、リレーションシップ クラスを使用して 2 つのテーブルを結合すれば依然として可能ですが、大きなデータセットをこの方法でシンボル表示すると、主キーと外部キーにインデックスが作成されていたとしても、パフォーマンスが低下します。シンボル表示のための属性は、フィーチャクラスのテーブルに格納するようにしてください。パフォーマンス上の理由からシンボル情報はフィーチャクラスに格納することが推奨されます。

関連トピック

9/14/2013