所有権データスキュー
セキュリティグループに対する適切なアクセス権を維持するための Salesforce のあらゆる機能を使用している場合でも、大部分のお客様は多数のユーザーや大量のデータに影響を及ぼす更新を実行しなければ、パフォーマンスに関する問題に遭遇することはありません。ただし、パフォーマンスに関する問題が生じる可能性を大幅に高める特定の一般的な設定がいくつかあります。1 人のユーザーが 10,000 件を超えるオブジェクトレコードを所有している状況を所有権データスキューと呼びます。これらの共通パターンの 1 つとして、データの所有権を集中させているため、単一のユーザーまたはキュー、あるいは単一のロールまたは公開グループのすべてのメンバーが、特定のオブジェクトのレコードの大部分またはすべてを所有している状況が挙げられます。
たとえば、自分の未割り当てのリードをすべてダミーユーザーに割り当てる場合があります。この方法は、未使用のデータを一時的に保管するには便利な方法のように見えるかもしれませんが、これらのユーザーが階層内のさまざまな場所に移動されたり、共有ルールの共有元グループであるグループやロールで追加または削除されると、パフォーマンス上の問題を生じる可能性があります。どちらの場合でも、Salesforce は共有テーブル内にある膨大な数のエントリを調整する必要があるため、アクセス権の再適用に長時間を要する可能性があります。
より多くのユーザーにレコードアクセス権の所有権を配分すると、更新に長時間を要する可能性が下がります。
少数のユーザーに所有権を割り当てることが不可欠である場合は、それらのユーザーをロールに割り当てないことで、パフォーマンスへの影響を最小限に抑えることができます。
データを共有するためにユーザーにロールを割り当てる必要がある場合は、次の処置を行うことをお勧めします。
- 階層内で最上位の別個のロールにそれらのユーザーを割り当てる
- その最上位のロールからユーザーを移動しない
- 共有ルールの共有元として使用される可能性のある公開グループにユーザーを含めない