10014: 結合アクセスの速度が遅いと、レイヤーの描画時間に影響する可能性があります
レイヤーで結合フィールドを使用しており、描画パフォーマンスに影響する可能性があります。 フィールド名と潜在的な問題の説明が示されます。
解決策
次のいずれかを実行します。
このレイヤーの描画指標を確認します。 レイヤーを共有する場合、サービスのデータ アクセス指標を確認します。
属性列を直接フィーチャクラスに追加し、この新しいフィールドを使用するようマップ プロパティとレイヤー プロパティを変更します。
レイヤーとデータベースの実装を調整し、最高の描画パフォーマンスを得られるようにします。 以下の多くのヒントは、結合フィールド使用時に描画パフォーマンスを向上させるためのガイダンスとベスト プラクティスを提供しています。
追加情報
ほとんどのデータベース設計ガイドラインでは、必要なフィールドを 1 つの大きなテーブルにまとめるのではなく、それぞれが特定の列にフォーカスした複数テーブルにまとめることを推奨しています。 複数テーブルにすると、情報を 1 つのテーブルに一度のみ保存するため、データベース内での情報重複を回避できます。 現在のテーブルにない情報が必要な場合は、2 つのテーブルをリンクできます。
テーブルをフィーチャクラスに結合するには、通常、両テーブルに共通する属性またはフィールドに基づいて、テーブルのフィールドをフィーチャクラス テーブルのフィールドに追加します。 これにより効率的なストレージが得られますが、パフォーマンスに影響する可能性があります。
ヒント
動的マップ表示でパフォーマンスの向上に役立つヒントのいくつかを次に示します。
パフォーマンスを最適化するには、エンタープライズ ジオデータベースを使用します。 同時ユーザーが存在する場合、エンタープライズ ジオデータベースの方が高速です。 エンタープライズ ジオデータベースは DBMS ベースのため、ユーザー数が多い場合は (数百ユーザー以上)、ファイル ジオデータベースよりも拡張性に優れています。
最高のパフォーマンスを得るため、フィーチャクラス テーブルと結合属性テーブルを共通のジオデータベースにまとめて保持します。 これを行えない場合はパフォーマンスが低下します。 次の表は、結合パフォーマンスへの潜在的な影響をまとめたものです:
| ベース フィーチャクラス | 結合テーブル | 内部結合 (一致する行の選択) を使ってベース テーブルの列を使用 | 内部結合 (一致する行の選択) を使って結合テーブルの列を使用 | 外部結合 (全レコードの選択) を使って結合テーブルの列を使用 |
|---|---|---|---|---|
| パーソナル ジオデータベース | パーソナル ジオデータベースを含む任意の DBMS | 非常に遅い | 非常に遅い | 非常に遅い |
| ファイル ジオデータベース | ファイル ジオデータベース | 速い | 速い | 速い |
| ファイル ジオデータベース | エンタープライズ ジオデータベース | 遅い | 遅い | 遅い |
| エンタープライズ ジオデータベース | ファイル ジオデータベース | 速い | 速い | 速い |
| エンタープライズ ジオデータベース | エンタープライズ ジオデータベース | 速い | 速い | 遅い |
| エンタープライズ ジオデータベース | 別の DBMS へ | 遅い | 遅い | 遅い |
- フィーチャクラス テーブルと結合テーブルの両方の結合フィールドに、属性インデックスを作成します。